UWAGA! Wyczyścić listę mapowanie_osob_bn_pbl_po_imporcie (za dużo niepoprawnych relacji pbl-bn po ostatnim imporcie) Przed rozpoczęciem pracy zaktualizuj zgodnie z obecnym stanem bazy listę książek na dysku za poprzedni rocznik. Przed rozpoczęciem pracy wyszukaj frazy “bezpiecznik” i “aktualizacja”.

#install.packages(c("utf8","googlesheets4","zoo","stringr","splitstackshape","plyr","dplyr","sqldf","stringdist","fuzzyjoin","data.table","svMisc","tidyverse","RJDBC","arrangements","tokenizers","openxlsx","jsonlite","pacman"))
#devtools::install_github("r-lib/gargle")
employee_name <- readline(prompt="Enter name: ")
Cezary
import_year <- readline(prompt="Enter year: ")
2012
#biblioteki
options(java.parameters = "-Xmx32000m")
options(scipen = 999)
pacman::p_load(utf8,googlesheets4,zoo,stringr,splitstackshape,plyr,dplyr,sqldf,stringdist,fuzzyjoin,data.table,svMisc,tidyverse,RJDBC,arrangements,tokenizers,openxlsx,jsonlite)
`%notin%` <- Negate(`%in%`)
#połączenie z bazą PBL
jdbcDriver =JDBC("oracle.jdbc.OracleDriver",classPath=paste("C:/Users/",employee_name,"/Downloads/ojdbc6.jar",sep = ""))
PBL <- dbConnect(jdbcDriver, "jdbc:oracle:thin:@//pbl.ibl.poznan.pl:1521/xe", "IBL_SELECT", "CR333444")

#wgranie zbiorów książek
bn_ks <- read.csv2(paste("C:/Users/",employee_name,"/Downloads/bn_ks_",import_year,".csv",sep = ""), encoding = "UTF-8", header = TRUE, stringsAsFactors = FALSE) %>%
  mutate(rok = str_sub(X008,8,11)) %>% 
  filter(rok == import_year,
         !grepl("\\\\$aArtykuły|\\\\$Druki ulotne",X380),
         !grepl("\\$aNadbitki i odbitki",X655),
         grepl("Książki",X380,ignore.case = FALSE)|X380=="",
         grepl("\\$aWA|\\$aW ",X040),
         X655!="\\7$aKomiks$2DBN") %>%
  mutate(X245 = str_replace_all(X245," \\/ \\$c"," /$c"),
         BN_URL = paste("https://katalogi.bn.org.pl/discovery/fulldisplay?docid=alma",as.character(X009),"&context=L&vid=48OMNIS_NLOP:48OMNIS_NLOP&lang=pl",sep = ""),
         BN_URL = str_replace(BN_URL,"88&","66&"))

### przenieść kolejnych autorów z 700 do pola 100
marc_field_700 <- bn_ks %>%
  select(id,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(bn_ks$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")
x <- 1:length(subfield_list)

for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress:  1 on 13  Progress:  2 on 13  Progress:  3 on 13  Progress:  4 on 13  Progress:  5 on 13  Progress:  6 on 13  Progress:  7 on 13  Progress:  8 on 13  Progress:  9 on 13  Progress: 10 on 13  Progress: 11 on 13  Progress: 12 on 13  Progress: 13 on 13  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress:  1 on 13  Progress:  2 on 13  Progress:  3 on 13  Progress:  4 on 13  Progress:  5 on 13  Progress:  6 on 13  Progress:  7 on 13  Progress:  8 on 13  Progress:  9 on 13  Progress: 10 on 13  Progress: 11 on 13  Progress: 12 on 13  Progress: 13 on 13  
marc_field_700 <- marc_field_700 %>%
  filter(is.na(`$e`)&is.na(`$t`)) %>%
  select(id, X700) %>%
  mutate(drugi_autor = str_remove_all(X700,"\\|")) %>%
  select(id,drugi_autor)

drugi_autor <- bn_ks %>%
  full_join(.,marc_field_700,by = "id") %>%
  select(id,X100,X700,drugi_autor) %>%
  group_by(id) %>%
  mutate(X100 = ifelse(!is.na(drugi_autor),str_remove(paste(X100,paste(drugi_autor,collapse = "|"),sep = "|"),"^\\|"),as.character(X100)),
         drugi_autor = list(drugi_autor)) %>%
  ungroup() %>%
  unique()
  
x <- 1:length(drugi_autor$id)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  y <- 1:lengths(drugi_autor$drugi_autor[i])
  for (j in y) {
    drugi_autor$X700[i] <- ifelse(is.na(drugi_autor$drugi_autor[i]),as.character(drugi_autor$X700[i]),
                           ifelse(grepl(str_replace_all(str_replace_all(str_replace_all(str_replace_all(drugi_autor$drugi_autor[i][[1]][j],"\\\\","\\\\\\\\"),"\\$","\\\\$"),"\\(","\\\\("),"\\)","\\\\)"),drugi_autor$X700[i]),str_remove(drugi_autor$X700[i],str_replace_all(str_replace_all(str_replace_all(str_replace_all(drugi_autor$drugi_autor[i][[1]][j],"\\\\","\\\\\\\\"),"\\$","\\\\$"),"\\(","\\\\("),"\\)","\\\\)")),as.character(drugi_autor$X700[i])))
  }
}
Progress:     1 on 43599  Progress:     2 on 43599  Progress:     3 on 43599  Progress:     4 on 43599  Progress:     5 on 43599  Progress:     6 on 43599  Progress:     7 on 43599  Progress:     8 on 43599  Progress:     9 on 43599  Progress:    10 on 43599  Progress:    11 on 43599  Progress:    12 on 43599  Progress:    13 on 43599  Progress:    14 on 43599  Progress:    15 on 43599  Progress:    16 on 43599  Progress:    17 on 43599  Progress:    18 on 43599  Progress:    19 on 43599  Progress:    20 on 43599  Progress:    21 on 43599  Progress:    22 on 43599  Progress:    23 on 43599  Progress:    24 on 43599  Progress:    25 on 43599  Progress:    26 on 43599  Progress:    27 on 43599  Progress:    28 on 43599  Progress:    29 on 43599  Progress:    30 on 43599  Progress:    31 on 43599  Progress:    32 on 43599  Progress:    33 on 43599  Progress:    34 on 43599  Progress:    35 on 43599  Progress:    36 on 43599  Progress:    37 on 43599  Progress:    38 on 43599  Progress:    39 on 43599  Progress:    40 on 43599  Progress:    41 on 43599  Progress:    42 on 43599  Progress:    43 on 43599  Progress:    44 on 43599  Progress:    45 on 43599  Progress:    46 on 43599  Progress:    47 on 43599  Progress:    48 on 43599  Progress:    49 on 43599  Progress:    50 on 43599  Progress:    51 on 43599  Progress:    52 on 43599  Progress:    53 on 43599  Progress:    54 on 43599  Progress:    55 on 43599  Progress:    56 on 43599  Progress:    57 on 43599  Progress:    58 on 43599  Progress:    59 on 43599  Progress:    60 on 43599  Progress:    61 on 43599  Progress:    62 on 43599  Progress:    63 on 43599  Progress:    64 on 43599  Progress:    65 on 43599  Progress:    66 on 43599  Progress:    67 on 43599  Progress:    68 on 43599  Progress:    69 on 43599  Progress:    70 on 43599  Progress:    71 on 43599  Progress:    72 on 43599  Progress:    73 on 43599  Progress:    74 on 43599  Progress:    75 on 43599  Progress:    76 on 43599  Progress:    77 on 43599  Progress:    78 on 43599  Progress:    79 on 43599  Progress:    80 on 43599  Progress:    81 on 43599  Progress:    82 on 43599  Progress:    83 on 43599  Progress:    84 on 43599  Progress:    85 on 43599  Progress:    86 on 43599  Progress:    87 on 43599  Progress:    88 on 43599  Progress:    89 on 43599  Progress:    90 on 43599  Progress:    91 on 43599  Progress:    92 on 43599  Progress:    93 on 43599  Progress:    94 on 43599  Progress:    95 on 43599  Progress:    96 on 43599  Progress:    97 on 43599  Progress:    98 on 43599  Progress:    99 on 43599  Progress:   100 on 43599  Progress:   101 on 43599  Progress:   102 on 43599  Progress:   103 on 43599  Progress:   104 on 43599  Progress:   105 on 43599  Progress:   106 on 43599  Progress:   107 on 43599  Progress:   108 on 43599  Progress:   109 on 43599  Progress:   110 on 43599  Progress:   111 on 43599  Progress:   112 on 43599  Progress:   113 on 43599  Progress:   114 on 43599  Progress:   115 on 43599  Progress:   116 on 43599  Progress:   117 on 43599  Progress:   118 on 43599  Progress:   119 on 43599  Progress:   120 on 43599  Progress:   121 on 43599  Progress:   122 on 43599  Progress:   123 on 43599  Progress:   124 on 43599  Progress:   125 on 43599  Progress:   126 on 43599  Progress:   127 on 43599  Progress:   128 on 43599  Progress:   129 on 43599  Progress:   130 on 43599  Progress:   131 on 43599  Progress:   132 on 43599  Progress:   133 on 43599  Progress:   134 on 43599  Progress:   135 on 43599  Progress:   136 on 43599  Progress:   137 on 43599  Progress:   138 on 43599  Progress:   139 on 43599  Progress:   140 on 43599  Progress:   141 on 43599  Progress:   142 on 43599  Progress:   143 on 43599  Progress:   144 on 43599  Progress:   145 on 43599  Progress:   146 on 43599  Progress:   147 on 43599  Progress:   148 on 43599  Progress:   149 on 43599  Progress:   150 on 43599  Progress:   151 on 43599  Progress:   152 on 43599  Progress:   153 on 43599  Progress:   154 on 43599  Progress:   155 on 43599  Progress:   156 on 43599  Progress:   157 on 43599  Progress:   158 on 43599  Progress:   159 on 43599  Progress:   160 on 43599  Progress:   161 on 43599  Progress:   162 on 43599  Progress:   163 on 43599  Progress:   164 on 43599  Progress:   165 on 43599  Progress:   166 on 43599  Progress:   167 on 43599  Progress:   168 on 43599  Progress:   169 on 43599  Progress:   170 on 43599  Progress:   171 on 43599  Progress:   172 on 43599  Progress:   173 on 43599  Progress:   174 on 43599  Progress:   175 on 43599  Progress:   176 on 43599  Progress:   177 on 43599  Progress:   178 on 43599  Progress:   179 on 43599  Progress:   180 on 43599  Progress:   181 on 43599  Progress:   182 on 43599  Progress:   183 on 43599  Progress:   184 on 43599  Progress:   185 on 43599  Progress:   186 on 43599  Progress:   187 on 43599  Progress:   188 on 43599  Progress:   189 on 43599  Progress:   190 on 43599  Progress:   191 on 43599  Progress:   192 on 43599  Progress:   193 on 43599  Progress:   194 on 43599  Progress:   195 on 43599  Progress:   196 on 43599  Progress:   197 on 43599  Progress:   198 on 43599  Progress:   199 on 43599  Progress:   200 on 43599  Progress:   201 on 43599  Progress:   202 on 43599  Progress:   203 on 43599  Progress:   204 on 43599  Progress:   205 on 43599  Progress:   206 on 43599  Progress:   207 on 43599  Progress:   208 on 43599  Progress:   209 on 43599  Progress:   210 on 43599  Progress:   211 on 43599  Progress:   212 on 43599  Progress:   213 on 43599  Progress:   214 on 43599  Progress:   215 on 43599  Progress:   216 on 43599  Progress:   217 on 43599  Progress:   218 on 43599  Progress:   219 on 43599  Progress:   220 on 43599  Progress:   221 on 43599  Progress:   222 on 43599  Progress:   223 on 43599  Progress:   224 on 43599  Progress:   225 on 43599  Progress:   226 on 43599  Progress:   227 on 43599  Progress:   228 on 43599  Progress:   229 on 43599  Progress:   230 on 43599  Progress:   231 on 43599  Progress:   232 on 43599  Progress:   233 on 43599  Progress:   234 on 43599  Progress:   235 on 43599  Progress:   236 on 43599  Progress:   237 on 43599  Progress:   238 on 43599  Progress:   239 on 43599  Progress:   240 on 43599  Progress:   241 on 43599  Progress:   242 on 43599  Progress:   243 on 43599  Progress:   244 on 43599  Progress:   245 on 43599  Progress:   246 on 43599  Progress:   247 on 43599  Progress:   248 on 43599  Progress:   249 on 43599  Progress:   250 on 43599  Progress:   251 on 43599  Progress:   252 on 43599  Progress:   253 on 43599  Progress:   254 on 43599  Progress:   255 on 43599  Progress:   256 on 43599  Progress:   257 on 43599  Progress:   258 on 43599  Progress:   259 on 43599  Progress:   260 on 43599  Progress:   261 on 43599  Progress:   262 on 43599  Progress:   263 on 43599  Progress:   264 on 43599  Progress:   265 on 43599  Progress:   266 on 43599  Progress:   267 on 43599  Progress:   268 on 43599  Progress:   269 on 43599  Progress:   270 on 43599  Progress:   271 on 43599  Progress:   272 on 43599  Progress:   273 on 43599  Progress:   274 on 43599  Progress:   275 on 43599  Progress:   276 on 43599  Progress:   277 on 43599  Progress:   278 on 43599  Progress:   279 on 43599  Progress:   280 on 43599  Progress:   281 on 43599  Progress:   282 on 43599  Progress:   283 on 43599  Progress:   284 on 43599  Progress:   285 on 43599  Progress:   286 on 43599  Progress:   287 on 43599  Progress:   288 on 43599  Progress:   289 on 43599  Progress:   290 on 43599  Progress:   291 on 43599  Progress:   292 on 43599  Progress:   293 on 43599  Progress:   294 on 43599  Progress:   295 on 43599  Progress:   296 on 43599  Progress:   297 on 43599  Progress:   298 on 43599  Progress:   299 on 43599  Progress:   300 on 43599  Progress:   301 on 43599  Progress:   302 on 43599  Progress:   303 on 43599  Progress:   304 on 43599  Progress:   305 on 43599  Progress:   306 on 43599  Progress:   307 on 43599  Progress:   308 on 43599  Progress:   309 on 43599  Progress:   310 on 43599  Progress:   311 on 43599  Progress:   312 on 43599  Progress:   313 on 43599  Progress:   314 on 43599  Progress:   315 on 43599  Progress:   316 on 43599  Progress:   317 on 43599  Progress:   318 on 43599  Progress:   319 on 43599  Progress:   320 on 43599  Progress:   321 on 43599  Progress:   322 on 43599  Progress:   323 on 43599  Progress:   324 on 43599  Progress:   325 on 43599  Progress:   326 on 43599  Progress:   327 on 43599  Progress:   328 on 43599  Progress:   329 on 43599  Progress:   330 on 43599  Progress:   331 on 43599  Progress:   332 on 43599  Progress:   333 on 43599  Progress:   334 on 43599  Progress:   335 on 43599  Progress:   336 on 43599  Progress:   337 on 43599  Progress:   338 on 43599  Progress:   339 on 43599  Progress:   340 on 43599  Progress:   341 on 43599  Progress:   342 on 43599  Progress:   343 on 43599  Progress:   344 on 43599  Progress:   345 on 43599  Progress:   346 on 43599  Progress:   347 on 43599  Progress:   348 on 43599  Progress:   349 on 43599  Progress:   350 on 43599  Progress:   351 on 43599  Progress:   352 on 43599  Progress:   353 on 43599  Progress:   354 on 43599  Progress:   355 on 43599  Progress:   356 on 43599  Progress:   357 on 43599  Progress:   358 on 43599  Progress:   359 on 43599  Progress:   360 on 43599  Progress:   361 on 43599  Progress:   362 on 43599  Progress:   363 on 43599  Progress:   364 on 43599  Progress:   365 on 43599  Progress:   366 on 43599  Progress:   367 on 43599  Progress:   368 on 43599  Progress:   369 on 43599  Progress:   370 on 43599  Progress:   371 on 43599  Progress:   372 on 43599  Progress:   373 on 43599  Progress:   374 on 43599  Progress:   375 on 43599  Progress:   376 on 43599  Progress:   377 on 43599  Progress:   378 on 43599  Progress:   379 on 43599  Progress:   380 on 43599  Progress:   381 on 43599  Progress:   382 on 43599  Progress:   383 on 43599  Progress:   384 on 43599  Progress:   385 on 43599  Progress:   386 on 43599  Progress:   387 on 43599  Progress:   388 on 43599  Progress:   389 on 43599  Progress:   390 on 43599  Progress:   391 on 43599  Progress:   392 on 43599  Progress:   393 on 43599  Progress:   394 on 43599  Progress:   395 on 43599  Progress:   396 on 43599  Progress:   397 on 43599  Progress:   398 on 43599  Progress:   399 on 43599  Progress:   400 on 43599  Progress:   401 on 43599  Progress:   402 on 43599  Progress:   403 on 43599  Progress:   404 on 43599  Progress:   405 on 43599  Progress:   406 on 43599  Progress:   407 on 43599  Progress:   408 on 43599  Progress:   409 on 43599  Progress:   410 on 43599  Progress:   411 on 43599  Progress:   412 on 43599  Progress:   413 on 43599  Progress:   414 on 43599  Progress:   415 on 43599  Progress:   416 on 43599  Progress:   417 on 43599  Progress:   418 on 43599  Progress:   419 on 43599  Progress:   420 on 43599  Progress:   421 on 43599  Progress:   422 on 43599  Progress:   423 on 43599  Progress:   424 on 43599  Progress:   425 on 43599  Progress:   426 on 43599  Progress:   427 on 43599  Progress:   428 on 43599  Progress:   429 on 43599  Progress:   430 on 43599  Progress:   431 on 43599  Progress:   432 on 43599  Progress:   433 on 43599  Progress:   434 on 43599  Progress:   435 on 43599  Progress:   436 on 43599  Progress:   437 on 43599  Progress:   438 on 43599  Progress:   439 on 43599  Progress:   440 on 43599  Progress:   441 on 43599  Progress:   442 on 43599  Progress:   443 on 43599  Progress:   444 on 43599  Progress:   445 on 43599  Progress:   446 on 43599  Progress:   447 on 43599  Progress:   448 on 43599  Progress:   449 on 43599  Progress:   450 on 43599  Progress:   451 on 43599  Progress:   452 on 43599  Progress:   453 on 43599  Progress:   454 on 43599  Progress:   455 on 43599  Progress:   456 on 43599  Progress:   457 on 43599  Progress:   458 on 43599  Progress:   459 on 43599  Progress:   460 on 43599  Progress:   461 on 43599  Progress:   462 on 43599  Progress:   463 on 43599  Progress:   464 on 43599  Progress:   465 on 43599  Progress:   466 on 43599  Progress:   467 on 43599  Progress:   468 on 43599  Progress:   469 on 43599  Progress:   470 on 43599  Progress:   471 on 43599  Progress:   472 on 43599  Progress:   473 on 43599  Progress:   474 on 43599  Progress:   475 on 43599  Progress:   476 on 43599  Progress:   477 on 43599  Progress:   478 on 43599  Progress:   479 on 43599  Progress:   480 on 43599  Progress:   481 on 43599  Progress:   482 on 43599  Progress:   483 on 43599  Progress:   484 on 43599  Progress:   485 on 43599  Progress:   486 on 43599  Progress:   487 on 43599  Progress:   488 on 43599  Progress:   489 on 43599  Progress:   490 on 43599  Progress:   491 on 43599  Progress:   492 on 43599  Progress:   493 on 43599  Progress:   494 on 43599  Progress:   495 on 43599  Progress:   496 on 43599  Progress:   497 on 43599  Progress:   498 on 43599  Progress:   499 on 43599  Progress:   500 on 43599  Progress:   501 on 43599  Progress:   502 on 43599  Progress:   503 on 43599  Progress:   504 on 43599  Progress:   505 on 43599  Progress:   506 on 43599  Progress:   507 on 43599  Progress:   508 on 43599  Progress:   509 on 43599  Progress:   510 on 43599  Progress:   511 on 43599  Progress:   512 on 43599  Progress:   513 on 43599  Progress:   514 on 43599  Progress:   515 on 43599  Progress:   516 on 43599  Progress:   517 on 43599  Progress:   518 on 43599  Progress:   519 on 43599  Progress:   520 on 43599  Progress:   521 on 43599  Progress:   522 on 43599  Progress:   523 on 43599  Progress:   524 on 43599  Progress:   525 on 43599  Progress:   526 on 43599  Progress:   527 on 43599  Progress:   528 on 43599  Progress:   529 on 43599  Progress:   530 on 43599  Progress:   531 on 43599  Progress:   532 on 43599  Progress:   533 on 43599  Progress:   534 on 43599  Progress:   535 on 43599  Progress:   536 on 43599  Progress:   537 on 43599  Progress:   538 on 43599  Progress:   539 on 43599  Progress:   540 on 43599  Progress:   541 on 43599  Progress:   542 on 43599  Progress:   543 on 43599  Progress:   544 on 43599  Progress:   545 on 43599  Progress:   546 on 43599  Progress:   547 on 43599  Progress:   548 on 43599  Progress:   549 on 43599  Progress:   550 on 43599  Progress:   551 on 43599  Progress:   552 on 43599  Progress:   553 on 43599  Progress:   554 on 43599  Progress:   555 on 43599  Progress:   556 on 43599  Progress:   557 on 43599  Progress:   558 on 43599  Progress:   559 on 43599  Progress:   560 on 43599  Progress:   561 on 43599  Progress:   562 on 43599  Progress:   563 on 43599  Progress:   564 on 43599  Progress:   565 on 43599  Progress:   566 on 43599  Progress:   567 on 43599  Progress:   568 on 43599  Progress:   569 on 43599  Progress:   570 on 43599  Progress:   571 on 43599  Progress:   572 on 43599  Progress:   573 on 43599  Progress:   574 on 43599  Progress:   575 on 43599  Progress:   576 on 43599  Progress:   577 on 43599  Progress:   578 on 43599  Progress:   579 on 43599  Progress:   580 on 43599  Progress:   581 on 43599  Progress:   582 on 43599  Progress:   583 on 43599  Progress:   584 on 43599  Progress:   585 on 43599  Progress:   586 on 43599  Progress:   587 on 43599  Progress:   588 on 43599  Progress:   589 on 43599  Progress:   590 on 43599  Progress:   591 on 43599  Progress:   592 on 43599  Progress:   593 on 43599  Progress:   594 on 43599  Progress:   595 on 43599  Progress:   596 on 43599  Progress:   597 on 43599  Progress:   598 on 43599  Progress:   599 on 43599  Progress:   600 on 43599  Progress:   601 on 43599  Progress:   602 on 43599  Progress:   603 on 43599  Progress:   604 on 43599  Progress:   605 on 43599  Progress:   606 on 43599  Progress:   607 on 43599  Progress:   608 on 43599  Progress:   609 on 43599  Progress:   610 on 43599  Progress:   611 on 43599  Progress:   612 on 43599  Progress:   613 on 43599  Progress:   614 on 43599  Progress:   615 on 43599  Progress:   616 on 43599  Progress:   617 on 43599  Progress:   618 on 43599  Progress:   619 on 43599  Progress:   620 on 43599  Progress:   621 on 43599  Progress:   622 on 43599  Progress:   623 on 43599  Progress:   624 on 43599  Progress:   625 on 43599  Progress:   626 on 43599  Progress:   627 on 43599  Progress:   628 on 43599  Progress:   629 on 43599  Progress:   630 on 43599  Progress:   631 on 43599  Progress:   632 on 43599  Progress:   633 on 43599  Progress:   634 on 43599  Progress:   635 on 43599  Progress:   636 on 43599  Progress:   637 on 43599  Progress:   638 on 43599  Progress:   639 on 43599  Progress:   640 on 43599  Progress:   641 on 43599  Progress:   642 on 43599  Progress:   643 on 43599  Progress:   644 on 43599  Progress:   645 on 43599  Progress:   646 on 43599  Progress:   647 on 43599  Progress:   648 on 43599  Progress:   649 on 43599  Progress:   650 on 43599  Progress:   651 on 43599  Progress:   652 on 43599  Progress:   653 on 43599  Progress:   654 on 43599  Progress:   655 on 43599  Progress:   656 on 43599  Progress:   657 on 43599  Progress:   658 on 43599  Progress:   659 on 43599  Progress:   660 on 43599  Progress:   661 on 43599  Progress:   662 on 43599  Progress:   663 on 43599  Progress:   664 on 43599  Progress:   665 on 43599  Progress:   666 on 43599  Progress:   667 on 43599  Progress:   668 on 43599  Progress:   669 on 43599  Progress:   670 on 43599  Progress:   671 on 43599  Progress:   672 on 43599  Progress:   673 on 43599  Progress:   674 on 43599  Progress:   675 on 43599  Progress:   676 on 43599  Progress:   677 on 43599  Progress:   678 on 43599  Progress:   679 on 43599  Progress:   680 on 43599  Progress:   681 on 43599  Progress:   682 on 43599  Progress:   683 on 43599  Progress:   684 on 43599  Progress:   685 on 43599  Progress:   686 on 43599  Progress:   687 on 43599  Progress:   688 on 43599  Progress:   689 on 43599  Progress:   690 on 43599  Progress:   691 on 43599  Progress:   692 on 43599  Progress:   693 on 43599  Progress:   694 on 43599  Progress:   695 on 43599  Progress:   696 on 43599  Progress:   697 on 43599  Progress:   698 on 43599  Progress:   699 on 43599  Progress:   700 on 43599  Progress:   701 on 43599  Progress:   702 on 43599  Progress:   703 on 43599  Progress:   704 on 43599  Progress:   705 on 43599  Progress:   706 on 43599  Progress:   707 on 43599  Progress:   708 on 43599  Progress:   709 on 43599  Progress:   710 on 43599  Progress:   711 on 43599  Progress:   712 on 43599  Progress:   713 on 43599  Progress:   714 on 43599  Progress:   715 on 43599  Progress:   716 on 43599  Progress:   717 on 43599  Progress:   718 on 43599  Progress:   719 on 43599  Progress:   720 on 43599  Progress:   721 on 43599  Progress:   722 on 43599  Progress:   723 on 43599  Progress:   724 on 43599  Progress:   725 on 43599  Progress:   726 on 43599  Progress:   727 on 43599  Progress:   728 on 43599  Progress:   729 on 43599  Progress:   730 on 43599  Progress:   731 on 43599  Progress:   732 on 43599  Progress:   733 on 43599  Progress:   734 on 43599  Progress:   735 on 43599  Progress:   736 on 43599  Progress:   737 on 43599  Progress:   738 on 43599  Progress:   739 on 43599  Progress:   740 on 43599  Progress:   741 on 43599  Progress:   742 on 43599  Progress:   743 on 43599  Progress:   744 on 43599  Progress:   745 on 43599  Progress:   746 on 43599  Progress:   747 on 43599  Progress:   748 on 43599  Progress:   749 on 43599  Progress:   750 on 43599  Progress:   751 on 43599  Progress:   752 on 43599  Progress:   753 on 43599  Progress:   754 on 43599  Progress:   755 on 43599  Progress:   756 on 43599  Progress:   757 on 43599  Progress:   758 on 43599  Progress:   759 on 43599  Progress:   760 on 43599  Progress:   761 on 43599  Progress:   762 on 43599  Progress:   763 on 43599  Progress:   764 on 43599  Progress:   765 on 43599  Progress:   766 on 43599  Progress:   767 on 43599  Progress:   768 on 43599  Progress:   769 on 43599  Progress:   770 on 43599  Progress:   771 on 43599  Progress:   772 on 43599  Progress:   773 on 43599  Progress:   774 on 43599  Progress:   775 on 43599  Progress:   776 on 43599  Progress:   777 on 43599  Progress:   778 on 43599  Progress:   779 on 43599  Progress:   780 on 43599  Progress:   781 on 43599  Progress:   782 on 43599  Progress:   783 on 43599  Progress:   784 on 43599  Progress:   785 on 43599  Progress:   786 on 43599  Progress:   787 on 43599  Progress:   788 on 43599  Progress:   789 on 43599  Progress:   790 on 43599  Progress:   791 on 43599  Progress:   792 on 43599  Progress:   793 on 43599  Progress:   794 on 43599  Progress:   795 on 43599  Progress:   796 on 43599  Progress:   797 on 43599  Progress:   798 on 43599  Progress:   799 on 43599  Progress:   800 on 43599  Progress:   801 on 43599  Progress:   802 on 43599  Progress:   803 on 43599  Progress:   804 on 43599  Progress:   805 on 43599  Progress:   806 on 43599  Progress:   807 on 43599  Progress:   808 on 43599  Progress:   809 on 43599  Progress:   810 on 43599  Progress:   811 on 43599  Progress:   812 on 43599  Progress:   813 on 43599  Progress:   814 on 43599  Progress:   815 on 43599  Progress:   816 on 43599  Progress:   817 on 43599  Progress:   818 on 43599  Progress:   819 on 43599  Progress:   820 on 43599  Progress:   821 on 43599  Progress:   822 on 43599  Progress:   823 on 43599  Progress:   824 on 43599  Progress:   825 on 43599  Progress:   826 on 43599  Progress:   827 on 43599  Progress:   828 on 43599  Progress:   829 on 43599  Progress:   830 on 43599  Progress:   831 on 43599  Progress:   832 on 43599  Progress:   833 on 43599  Progress:   834 on 43599  Progress:   835 on 43599  Progress:   836 on 43599  Progress:   837 on 43599  Progress:   838 on 43599  Progress:   839 on 43599  Progress:   840 on 43599  Progress:   841 on 43599  Progress:   842 on 43599  Progress:   843 on 43599  Progress:   844 on 43599  Progress:   845 on 43599  Progress:   846 on 43599  Progress:   847 on 43599  Progress:   848 on 43599  Progress:   849 on 43599  Progress:   850 on 43599  Progress:   851 on 43599  Progress:   852 on 43599  Progress:   853 on 43599  Progress:   854 on 43599  Progress:   855 on 43599  Progress:   856 on 43599  Progress:   857 on 43599  Progress:   858 on 43599  Progress:   859 on 43599  Progress:   860 on 43599  Progress:   861 on 43599  Progress:   862 on 43599  Progress:   863 on 43599  Progress:   864 on 43599  Progress:   865 on 43599  Progress:   866 on 43599  Progress:   867 on 43599  Progress:   868 on 43599  Progress:   869 on 43599  Progress:   870 on 43599  Progress:   871 on 43599  Progress:   872 on 43599  Progress:   873 on 43599  Progress:   874 on 43599  Progress:   875 on 43599  Progress:   876 on 43599  Progress:   877 on 43599  Progress:   878 on 43599  Progress:   879 on 43599  Progress:   880 on 43599  Progress:   881 on 43599  Progress:   882 on 43599  Progress:   883 on 43599  Progress:   884 on 43599  Progress:   885 on 43599  Progress:   886 on 43599  Progress:   887 on 43599  Progress:   888 on 43599  Progress:   889 on 43599  Progress:   890 on 43599  Progress:   891 on 43599  Progress:   892 on 43599  Progress:   893 on 43599  Progress:   894 on 43599  Progress:   895 on 43599  Progress:   896 on 43599  Progress:   897 on 43599  Progress:   898 on 43599  Progress:   899 on 43599  Progress:   900 on 43599  Progress:   901 on 43599  Progress:   902 on 43599  Progress:   903 on 43599  Progress:   904 on 43599  Progress:   905 on 43599  Progress:   906 on 43599  Progress:   907 on 43599  Progress:   908 on 43599  Progress:   909 on 43599  Progress:   910 on 43599  Progress:   911 on 43599  Progress:   912 on 43599  Progress:   913 on 43599  Progress:   914 on 43599  Progress:   915 on 43599  Progress:   916 on 43599  Progress:   917 on 43599  Progress:   918 on 43599  Progress:   919 on 43599  Progress:   920 on 43599  Progress:   921 on 43599  Progress:   922 on 43599  Progress:   923 on 43599  Progress:   924 on 43599  Progress:   925 on 43599  Progress:   926 on 43599  Progress:   927 on 43599  Progress:   928 on 43599  Progress:   929 on 43599  Progress:   930 on 43599  Progress:   931 on 43599  Progress:   932 on 43599  Progress:   933 on 43599  Progress:   934 on 43599  Progress:   935 on 43599  Progress:   936 on 43599  Progress:   937 on 43599  Progress:   938 on 43599  Progress:   939 on 43599  Progress:   940 on 43599  Progress:   941 on 43599  Progress:   942 on 43599  Progress:   943 on 43599  Progress:   944 on 43599  Progress:   945 on 43599  Progress:   946 on 43599  Progress:   947 on 43599  Progress:   948 on 43599  Progress:   949 on 43599  Progress:   950 on 43599  Progress:   951 on 43599  Progress:   952 on 43599  Progress:   953 on 43599  Progress:   954 on 43599  Progress:   955 on 43599  Progress:   956 on 43599  Progress:   957 on 43599  Progress:   958 on 43599  Progress:   959 on 43599  Progress:   960 on 43599  Progress:   961 on 43599  Progress:   962 on 43599  Progress:   963 on 43599  Progress:   964 on 43599  Progress:   965 on 43599  Progress:   966 on 43599  Progress:   967 on 43599  Progress:   968 on 43599  Progress:   969 on 43599  Progress:   970 on 43599  Progress:   971 on 43599  Progress:   972 on 43599  Progress:   973 on 43599  Progress:   974 on 43599  Progress:   975 on 43599  Progress:   976 on 43599  Progress:   977 on 43599  Progress:   978 on 43599  Progress:   979 on 43599  Progress:   980 on 43599  Progress:   981 on 43599  Progress:   982 on 43599  Progress:   983 on 43599  Progress:   984 on 43599  Progress:   985 on 43599  Progress:   986 on 43599  Progress:   987 on 43599  Progress:   988 on 43599  Progress:   989 on 43599  Progress:   990 on 43599  Progress:   991 on 43599  Progress:   992 on 43599  Progress:   993 on 43599  Progress:   994 on 43599  Progress:   995 on 43599  Progress:   996 on 43599  Progress:   997 on 43599  Progress:   998 on 43599  Progress:   999 on 43599  Progress:  1000 on 43599  Progress:  1001 on 43599  Progress:  1002 on 43599  Progress:  1003 on 43599  Progress:  1004 on 43599  Progress:  1005 on 43599  Progress:  1006 on 43599  Progress:  1007 on 43599  Progress:  1008 on 43599  Progress:  1009 on 43599  Progress:  1010 on 43599  Progress:  1011 on 43599  Progress:  1012 on 43599  Progress:  1013 on 43599  Progress:  1014 on 43599  Progress:  1015 on 43599  Progress:  1016 on 43599  Progress:  1017 on 43599  Progress:  1018 on 43599  Progress:  1019 on 43599  Progress:  1020 on 43599  Progress:  1021 on 43599  Progress:  1022 on 43599  Progress:  1023 on 43599  Progress:  1024 on 43599  Progress:  1025 on 43599  Progress:  1026 on 43599  Progress:  1027 on 43599  Progress:  1028 on 43599  Progress:  1029 on 43599  Progress:  1030 on 43599  Progress:  1031 on 43599  Progress:  1032 on 43599  Progress:  1033 on 43599  Progress:  1034 on 43599  Progress:  1035 on 43599  Progress:  1036 on 43599  Progress:  1037 on 43599  Progress:  1038 on 43599  Progress:  1039 on 43599  Progress:  1040 on 43599  Progress:  1041 on 43599  Progress:  1042 on 43599  Progress:  1043 on 43599  Progress:  1044 on 43599  Progress:  1045 on 43599  Progress:  1046 on 43599  Progress:  1047 on 43599  Progress:  1048 on 43599  Progress:  1049 on 43599  Progress:  1050 on 43599  Progress:  1051 on 43599  Progress:  1052 on 43599  Progress:  1053 on 43599  Progress:  1054 on 43599  Progress:  1055 on 43599  Progress:  1056 on 43599  Progress:  1057 on 43599  Progress:  1058 on 43599  Progress:  1059 on 43599  Progress:  1060 on 43599  Progress:  1061 on 43599  Progress:  1062 on 43599  Progress:  1063 on 43599  Progress:  1064 on 43599  Progress:  1065 on 43599  Progress:  1066 on 43599  Progress:  1067 on 43599  Progress:  1068 on 43599  Progress:  1069 on 43599  Progress:  1070 on 43599  Progress:  1071 on 43599  Progress:  1072 on 43599  Progress:  1073 on 43599  Progress:  1074 on 43599  Progress:  1075 on 43599  Progress:  1076 on 43599  Progress:  1077 on 43599  Progress:  1078 on 43599  Progress:  1079 on 43599  Progress:  1080 on 43599  Progress:  1081 on 43599  Progress:  1082 on 43599  Progress:  1083 on 43599  Progress:  1084 on 43599  Progress:  1085 on 43599  Progress:  1086 on 43599  Progress:  1087 on 43599  Progress:  1088 on 43599  Progress:  1089 on 43599  Progress:  1090 on 43599  Progress:  1091 on 43599  Progress:  1092 on 43599  Progress:  1093 on 43599  Progress:  1094 on 43599  Progress:  1095 on 43599  Progress:  1096 on 43599  Progress:  1097 on 43599  Progress:  1098 on 43599  Progress:  1099 on 43599  Progress:  1100 on 43599  Progress:  1101 on 43599  Progress:  1102 on 43599  Progress:  1103 on 43599  Progress:  1104 on 43599  Progress:  1105 on 43599  Progress:  1106 on 43599  Progress:  1107 on 43599  Progress:  1108 on 43599  Progress:  1109 on 43599  Progress:  1110 on 43599  Progress:  1111 on 43599  Progress:  1112 on 43599  Progress:  1113 on 43599  Progress:  1114 on 43599  Progress:  1115 on 43599  Progress:  1116 on 43599  Progress:  1117 on 43599  Progress:  1118 on 43599  Progress:  1119 on 43599  Progress:  1120 on 43599  Progress:  1121 on 43599  Progress:  1122 on 43599  Progress:  1123 on 43599  Progress:  1124 on 43599  Progress:  1125 on 43599  Progress:  1126 on 43599  Progress:  1127 on 43599  Progress:  1128 on 43599  Progress:  1129 on 43599  Progress:  1130 on 43599  Progress:  1131 on 43599  Progress:  1132 on 43599  Progress:  1133 on 43599  Progress:  1134 on 43599  Progress:  1135 on 43599  Progress:  1136 on 43599  Progress:  1137 on 43599  Progress:  1138 on 43599  Progress:  1139 on 43599  Progress:  1140 on 43599  Progress:  1141 on 43599  Progress:  1142 on 43599  Progress:  1143 on 43599  Progress:  1144 on 43599  Progress:  1145 on 43599  Progress:  1146 on 43599  Progress:  1147 on 43599  Progress:  1148 on 43599  Progress:  1149 on 43599  Progress:  1150 on 43599  Progress:  1151 on 43599  Progress:  1152 on 43599  Progress:  1153 on 43599  Progress:  1154 on 43599  Progress:  1155 on 43599  Progress:  1156 on 43599  Progress:  1157 on 43599  Progress:  1158 on 43599  Progress:  1159 on 43599  Progress:  1160 on 43599  Progress:  1161 on 43599  Progress:  1162 on 43599  Progress:  1163 on 43599  Progress:  1164 on 43599  Progress:  1165 on 43599  Progress:  1166 on 43599  Progress:  1167 on 43599  Progress:  1168 on 43599  Progress:  1169 on 43599  Progress:  1170 on 43599  Progress:  1171 on 43599  Progress:  1172 on 43599  Progress:  1173 on 43599  Progress:  1174 on 43599  Progress:  1175 on 43599  Progress:  1176 on 43599  Progress:  1177 on 43599  Progress:  1178 on 43599  Progress:  1179 on 43599  Progress:  1180 on 43599  Progress:  1181 on 43599  Progress:  1182 on 43599  Progress:  1183 on 43599  Progress:  1184 on 43599  Progress:  1185 on 43599  Progress:  1186 on 43599  Progress:  1187 on 43599  Progress:  1188 on 43599  Progress:  1189 on 43599  Progress:  1190 on 43599  Progress:  1191 on 43599  Progress:  1192 on 43599  Progress:  1193 on 43599  Progress:  1194 on 43599  Progress:  1195 on 43599  Progress:  1196 on 43599  Progress:  1197 on 43599  Progress:  1198 on 43599  Progress:  1199 on 43599  Progress:  1200 on 43599  Progress:  1201 on 43599  Progress:  1202 on 43599  Progress:  1203 on 43599  Progress:  1204 on 43599  Progress:  1205 on 43599  Progress:  1206 on 43599  Progress:  1207 on 43599  Progress:  1208 on 43599  Progress:  1209 on 43599  Progress:  1210 on 43599  Progress:  1211 on 43599  Progress:  1212 on 43599  Progress:  1213 on 43599  Progress:  1214 on 43599  Progress:  1215 on 43599  Progress:  1216 on 43599  Progress:  1217 on 43599  Progress:  1218 on 43599  Progress:  1219 on 43599  Progress:  1220 on 43599  Progress:  1221 on 43599  Progress:  1222 on 43599  Progress:  1223 on 43599  Progress:  1224 on 43599  Progress:  1225 on 43599  Progress:  1226 on 43599  Progress:  1227 on 43599  Progress:  1228 on 43599  Progress:  1229 on 43599  Progress:  1230 on 43599  Progress:  1231 on 43599  Progress:  1232 on 43599  Progress:  1233 on 43599  Progress:  1234 on 43599  Progress:  1235 on 43599  Progress:  1236 on 43599  Progress:  1237 on 43599  Progress:  1238 on 43599  Progress:  1239 on 43599  Progress:  1240 on 43599  Progress:  1241 on 43599  Progress:  1242 on 43599  Progress:  1243 on 43599  Progress:  1244 on 43599  Progress:  1245 on 43599  Progress:  1246 on 43599  Progress:  1247 on 43599  Progress:  1248 on 43599  Progress:  1249 on 43599  Progress:  1250 on 43599  Progress:  1251 on 43599  Progress:  1252 on 43599  Progress:  1253 on 43599  Progress:  1254 on 43599  Progress:  1255 on 43599  Progress:  1256 on 43599  Progress:  1257 on 43599  Progress:  1258 on 43599  Progress:  1259 on 43599  Progress:  1260 on 43599  Progress:  1261 on 43599  Progress:  1262 on 43599  Progress:  1263 on 43599  Progress:  1264 on 43599  Progress:  1265 on 43599  Progress:  1266 on 43599  Progress:  1267 on 43599  Progress:  1268 on 43599  Progress:  1269 on 43599  Progress:  1270 on 43599  Progress:  1271 on 43599  Progress:  1272 on 43599  Progress:  1273 on 43599  Progress:  1274 on 43599  Progress:  1275 on 43599  Progress:  1276 on 43599  Progress:  1277 on 43599  Progress:  1278 on 43599  Progress:  1279 on 43599  Progress:  1280 on 43599  Progress:  1281 on 43599  Progress:  1282 on 43599  Progress:  1283 on 43599  Progress:  1284 on 43599  Progress:  1285 on 43599  Progress:  1286 on 43599  Progress:  1287 on 43599  Progress:  1288 on 43599  Progress:  1289 on 43599  Progress:  1290 on 43599  Progress:  1291 on 43599  Progress:  1292 on 43599  Progress:  1293 on 43599  Progress:  1294 on 43599  Progress:  1295 on 43599  Progress:  1296 on 43599  Progress:  1297 on 43599  Progress:  1298 on 43599  Progress:  1299 on 43599  Progress:  1300 on 43599  Progress:  1301 on 43599  Progress:  1302 on 43599  Progress:  1303 on 43599  Progress:  1304 on 43599  Progress:  1305 on 43599  Progress:  1306 on 43599  Progress:  1307 on 43599  Progress:  1308 on 43599  Progress:  1309 on 43599  Progress:  1310 on 43599  Progress:  1311 on 43599  Progress:  1312 on 43599  Progress:  1313 on 43599  Progress:  1314 on 43599  Progress:  1315 on 43599  Progress:  1316 on 43599  Progress:  1317 on 43599  Progress:  1318 on 43599  Progress:  1319 on 43599  Progress:  1320 on 43599  Progress:  1321 on 43599  Progress:  1322 on 43599  Progress:  1323 on 43599  Progress:  1324 on 43599  Progress:  1325 on 43599  Progress:  1326 on 43599  Progress:  1327 on 43599  Progress:  1328 on 43599  Progress:  1329 on 43599  Progress:  1330 on 43599  Progress:  1331 on 43599  Progress:  1332 on 43599  Progress:  1333 on 43599  Progress:  1334 on 43599  Progress:  1335 on 43599  Progress:  1336 on 43599  Progress:  1337 on 43599  Progress:  1338 on 43599  Progress:  1339 on 43599  Progress:  1340 on 43599  Progress:  1341 on 43599  Progress:  1342 on 43599  Progress:  1343 on 43599  Progress:  1344 on 43599  Progress:  1345 on 43599  Progress:  1346 on 43599  Progress:  1347 on 43599  Progress:  1348 on 43599  Progress:  1349 on 43599  Progress:  1350 on 43599  Progress:  1351 on 43599  Progress:  1352 on 43599  Progress:  1353 on 43599  Progress:  1354 on 43599  Progress:  1355 on 43599  Progress:  1356 on 43599  Progress:  1357 on 43599  Progress:  1358 on 43599  Progress:  1359 on 43599  Progress:  1360 on 43599  Progress:  1361 on 43599  Progress:  1362 on 43599  Progress:  1363 on 43599  Progress:  1364 on 43599  Progress:  1365 on 43599  Progress:  1366 on 43599  Progress:  1367 on 43599  Progress:  1368 on 43599  Progress:  1369 on 43599  Progress:  1370 on 43599  Progress:  1371 on 43599  Progress:  1372 on 43599  Progress:  1373 on 43599  Progress:  1374 on 43599  Progress:  1375 on 43599  Progress:  1376 on 43599  Progress:  1377 on 43599  Progress:  1378 on 43599  Progress:  1379 on 43599  Progress:  1380 on 43599  Progress:  1381 on 43599  Progress:  1382 on 43599  Progress:  1383 on 43599  Progress:  1384 on 43599  Progress:  1385 on 43599  Progress:  1386 on 43599  Progress:  1387 on 43599  Progress:  1388 on 43599  Progress:  1389 on 43599  Progress:  1390 on 43599  Progress:  1391 on 43599  Progress:  1392 on 43599  Progress:  1393 on 43599  Progress:  1394 on 43599  Progress:  1395 on 43599  Progress:  1396 on 43599  Progress:  1397 on 43599  Progress:  1398 on 43599  Progress:  1399 on 43599  Progress:  1400 on 43599  Progress:  1401 on 43599  Progress:  1402 on 43599  Progress:  1403 on 43599  Progress:  1404 on 43599  Progress:  1405 on 43599  Progress:  1406 on 43599  Progress:  1407 on 43599  Progress:  1408 on 43599  Progress:  1409 on 43599  Progress:  1410 on 43599  Progress:  1411 on 43599  Progress:  1412 on 43599  Progress:  1413 on 43599  Progress:  1414 on 43599  Progress:  1415 on 43599  Progress:  1416 on 43599  Progress:  1417 on 43599  Progress:  1418 on 43599  Progress:  1419 on 43599  Progress:  1420 on 43599  Progress:  1421 on 43599  Progress:  1422 on 43599  Progress:  1423 on 43599  Progress:  1424 on 43599  Progress:  1425 on 43599  Progress:  1426 on 43599  Progress:  1427 on 43599  Progress:  1428 on 43599  Progress:  1429 on 43599  Progress:  1430 on 43599  Progress:  1431 on 43599  Progress:  1432 on 43599  Progress:  1433 on 43599  Progress:  1434 on 43599  Progress:  1435 on 43599  Progress:  1436 on 43599  Progress:  1437 on 43599  Progress:  1438 on 43599  Progress:  1439 on 43599  Progress:  1440 on 43599  Progress:  1441 on 43599  Progress:  1442 on 43599  Progress:  1443 on 43599  Progress:  1444 on 43599  Progress:  1445 on 43599  Progress:  1446 on 43599  Progress:  1447 on 43599  Progress:  1448 on 43599  Progress:  1449 on 43599  Progress:  1450 on 43599  Progress:  1451 on 43599  Progress:  1452 on 43599  Progress:  1453 on 43599  Progress:  1454 on 43599  Progress:  1455 on 43599  Progress:  1456 on 43599  Progress:  1457 on 43599  Progress:  1458 on 43599  Progress:  1459 on 43599  Progress:  1460 on 43599  Progress:  1461 on 43599  Progress:  1462 on 43599  Progress:  1463 on 43599  Progress:  1464 on 43599  Progress:  1465 on 43599  Progress:  1466 on 43599  Progress:  1467 on 43599  Progress:  1468 on 43599  Progress:  1469 on 43599  Progress:  1470 on 43599  Progress:  1471 on 43599  Progress:  1472 on 43599  Progress:  1473 on 43599  Progress:  1474 on 43599  Progress:  1475 on 43599  Progress:  1476 on 43599  Progress:  1477 on 43599  Progress:  1478 on 43599  Progress:  1479 on 43599  Progress:  1480 on 43599  Progress:  1481 on 43599  Progress:  1482 on 43599  Progress:  1483 on 43599  Progress:  1484 on 43599  Progress:  1485 on 43599  Progress:  1486 on 43599  Progress:  1487 on 43599  Progress:  1488 on 43599  Progress:  1489 on 43599  Progress:  1490 on 43599  Progress:  1491 on 43599  Progress:  1492 on 43599  Progress:  1493 on 43599  Progress:  1494 on 43599  Progress:  1495 on 43599  Progress:  1496 on 43599  Progress:  1497 on 43599  Progress:  1498 on 43599  Progress:  1499 on 43599  Progress:  1500 on 43599  Progress:  1501 on 43599  Progress:  1502 on 43599  Progress:  1503 on 43599  Progress:  1504 on 43599  Progress:  1505 on 43599  Progress:  1506 on 43599  Progress:  1507 on 43599  Progress:  1508 on 43599  Progress:  1509 on 43599  Progress:  1510 on 43599  Progress:  1511 on 43599  Progress:  1512 on 43599  Progress:  1513 on 43599  Progress:  1514 on 43599  Progress:  1515 on 43599  Progress:  1516 on 43599  Progress:  1517 on 43599  Progress:  1518 on 43599  Progress:  1519 on 43599  Progress:  1520 on 43599  Progress:  1521 on 43599  Progress:  1522 on 43599  Progress:  1523 on 43599  Progress:  1524 on 43599  Progress:  1525 on 43599  Progress:  1526 on 43599  Progress:  1527 on 43599  Progress:  1528 on 43599  Progress:  1529 on 43599  Progress:  1530 on 43599  Progress:  1531 on 43599  Progress:  1532 on 43599  Progress:  1533 on 43599  Progress:  1534 on 43599  Progress:  1535 on 43599  Progress:  1536 on 43599  Progress:  1537 on 43599  Progress:  1538 on 43599  Progress:  1539 on 43599  Progress:  1540 on 43599  Progress:  1541 on 43599  Progress:  1542 on 43599  Progress:  1543 on 43599  Progress:  1544 on 43599  Progress:  1545 on 43599  Progress:  1546 on 43599  Progress:  1547 on 43599  Progress:  1548 on 43599  Progress:  1549 on 43599  Progress:  1550 on 43599  Progress:  1551 on 43599  Progress:  1552 on 43599  Progress:  1553 on 43599  Progress:  1554 on 43599  Progress:  1555 on 43599  Progress:  1556 on 43599  Progress:  1557 on 43599  Progress:  1558 on 43599  Progress:  1559 on 43599  Progress:  1560 on 43599  Progress:  1561 on 43599  Progress:  1562 on 43599  Progress:  1563 on 43599  Progress:  1564 on 43599  Progress:  1565 on 43599  Progress:  1566 on 43599  Progress:  1567 on 43599  Progress:  1568 on 43599  Progress:  1569 on 43599  Progress:  1570 on 43599  Progress:  1571 on 43599  Progress:  1572 on 43599  Progress:  1573 on 43599  Progress:  1574 on 43599  Progress:  1575 on 43599  Progress:  1576 on 43599  Progress:  1577 on 43599  Progress:  1578 on 43599  Progress:  1579 on 43599  Progress:  1580 on 43599  Progress:  1581 on 43599  Progress:  1582 on 43599  Progress:  1583 on 43599  Progress:  1584 on 43599  Progress:  1585 on 43599  Progress:  1586 on 43599  Progress:  1587 on 43599  Progress:  1588 on 43599  Progress:  1589 on 43599  Progress:  1590 on 43599  Progress:  1591 on 43599  Progress:  1592 on 43599  Progress:  1593 on 43599  Progress:  1594 on 43599  Progress:  1595 on 43599  Progress:  1596 on 43599  Progress:  1597 on 43599  Progress:  1598 on 43599  Progress:  1599 on 43599  Progress:  1600 on 43599  Progress:  1601 on 43599  Progress:  1602 on 43599  Progress:  1603 on 43599  Progress:  1604 on 43599  Progress:  1605 on 43599  Progress:  1606 on 43599  Progress:  1607 on 43599  Progress:  1608 on 43599  Progress:  1609 on 43599  Progress:  1610 on 43599  Progress:  1611 on 43599  Progress:  1612 on 43599  Progress:  1613 on 43599  Progress:  1614 on 43599  Progress:  1615 on 43599  Progress:  1616 on 43599  Progress:  1617 on 43599  Progress:  1618 on 43599  Progress:  1619 on 43599  Progress:  1620 on 43599  Progress:  1621 on 43599  Progress:  1622 on 43599  Progress:  1623 on 43599  Progress:  1624 on 43599  Progress:  1625 on 43599  Progress:  1626 on 43599  Progress:  1627 on 43599  Progress:  1628 on 43599  Progress:  1629 on 43599  Progress:  1630 on 43599  Progress:  1631 on 43599  Progress:  1632 on 43599  Progress:  1633 on 43599  Progress:  1634 on 43599  Progress:  1635 on 43599  Progress:  1636 on 43599  Progress:  1637 on 43599  Progress:  1638 on 43599  Progress:  1639 on 43599  Progress:  1640 on 43599  Progress:  1641 on 43599  Progress:  1642 on 43599  Progress:  1643 on 43599  Progress:  1644 on 43599  Progress:  1645 on 43599  Progress:  1646 on 43599  Progress:  1647 on 43599  Progress:  1648 on 43599  Progress:  1649 on 43599  Progress:  1650 on 43599  Progress:  1651 on 43599  Progress:  1652 on 43599  Progress:  1653 on 43599  Progress:  1654 on 43599  Progress:  1655 on 43599  Progress:  1656 on 43599  Progress:  1657 on 43599  Progress:  1658 on 43599  Progress:  1659 on 43599  Progress:  1660 on 43599  Progress:  1661 on 43599  Progress:  1662 on 43599  Progress:  1663 on 43599  Progress:  1664 on 43599  Progress:  1665 on 43599  Progress:  1666 on 43599  Progress:  1667 on 43599  Progress:  1668 on 43599  Progress:  1669 on 43599  Progress:  1670 on 43599  Progress:  1671 on 43599  Progress:  1672 on 43599  Progress:  1673 on 43599  Progress:  1674 on 43599  Progress:  1675 on 43599  Progress:  1676 on 43599  Progress:  1677 on 43599  Progress:  1678 on 43599  Progress:  1679 on 43599  Progress:  1680 on 43599  Progress:  1681 on 43599  Progress:  1682 on 43599  Progress:  1683 on 43599  Progress:  1684 on 43599  Progress:  1685 on 43599  Progress:  1686 on 43599  Progress:  1687 on 43599  Progress:  1688 on 43599  Progress:  1689 on 43599  Progress:  1690 on 43599  Progress:  1691 on 43599  Progress:  1692 on 43599  Progress:  1693 on 43599  Progress:  1694 on 43599  Progress:  1695 on 43599  Progress:  1696 on 43599  Progress:  1697 on 43599  Progress:  1698 on 43599  Progress:  1699 on 43599  Progress:  1700 on 43599  Progress:  1701 on 43599  Progress:  1702 on 43599  Progress:  1703 on 43599  Progress:  1704 on 43599  Progress:  1705 on 43599  Progress:  1706 on 43599  Progress:  1707 on 43599  Progress:  1708 on 43599  Progress:  1709 on 43599  Progress:  1710 on 43599  Progress:  1711 on 43599  Progress:  1712 on 43599  Progress:  1713 on 43599  Progress:  1714 on 43599  Progress:  1715 on 43599  Progress:  1716 on 43599  Progress:  1717 on 43599  Progress:  1718 on 43599  Progress:  1719 on 43599  Progress:  1720 on 43599  Progress:  1721 on 43599  Progress:  1722 on 43599  Progress:  1723 on 43599  Progress:  1724 on 43599  Progress:  1725 on 43599  Progress:  1726 on 43599  Progress:  1727 on 43599  Progress:  1728 on 43599  Progress:  1729 on 43599  Progress:  1730 on 43599  Progress:  1731 on 43599  Progress:  1732 on 43599  Progress:  1733 on 43599  Progress:  1734 on 43599  Progress:  1735 on 43599  Progress:  1736 on 43599  Progress:  1737 on 43599  Progress:  1738 on 43599  Progress:  1739 on 43599  Progress:  1740 on 43599  Progress:  1741 on 43599  Progress:  1742 on 43599  Progress:  1743 on 43599  Progress:  1744 on 43599  Progress:  1745 on 43599  Progress:  1746 on 43599  Progress:  1747 on 43599  Progress:  1748 on 43599  Progress:  1749 on 43599  Progress:  1750 on 43599  Progress:  1751 on 43599  Progress:  1752 on 43599  Progress:  1753 on 43599  Progress:  1754 on 43599  Progress:  1755 on 43599  Progress:  1756 on 43599  Progress:  1757 on 43599  Progress:  1758 on 43599  Progress:  1759 on 43599  Progress:  1760 on 43599  Progress:  1761 on 43599  Progress:  1762 on 43599  Progress:  1763 on 43599  Progress:  1764 on 43599  Progress:  1765 on 43599  Progress:  1766 on 43599  Progress:  1767 on 43599  Progress:  1768 on 43599  Progress:  1769 on 43599  Progress:  1770 on 43599  Progress:  1771 on 43599  Progress:  1772 on 43599  Progress:  1773 on 43599  Progress:  1774 on 43599  Progress:  1775 on 43599  Progress:  1776 on 43599  Progress:  1777 on 43599  Progress:  1778 on 43599  Progress:  1779 on 43599  Progress:  1780 on 43599  Progress:  1781 on 43599  Progress:  1782 on 43599  Progress:  1783 on 43599  Progress:  1784 on 43599  Progress:  1785 on 43599  Progress:  1786 on 43599  Progress:  1787 on 43599  Progress:  1788 on 43599  Progress:  1789 on 43599  Progress:  1790 on 43599  Progress:  1791 on 43599  Progress:  1792 on 43599  Progress:  1793 on 43599  Progress:  1794 on 43599  Progress:  1795 on 43599  Progress:  1796 on 43599  Progress:  1797 on 43599  Progress:  1798 on 43599  Progress:  1799 on 43599  Progress:  1800 on 43599  Progress:  1801 on 43599  Progress:  1802 on 43599  Progress:  1803 on 43599  Progress:  1804 on 43599  Progress:  1805 on 43599  Progress:  1806 on 43599  Progress:  1807 on 43599  Progress:  1808 on 43599  Progress:  1809 on 43599  Progress:  1810 on 43599  Progress:  1811 on 43599  Progress:  1812 on 43599  Progress:  1813 on 43599  Progress:  1814 on 43599  Progress:  1815 on 43599  Progress:  1816 on 43599  Progress:  1817 on 43599  Progress:  1818 on 43599  Progress:  1819 on 43599  Progress:  1820 on 43599  Progress:  1821 on 43599  Progress:  1822 on 43599  Progress:  1823 on 43599  Progress:  1824 on 43599  Progress:  1825 on 43599  Progress:  1826 on 43599  Progress:  1827 on 43599  Progress:  1828 on 43599  Progress:  1829 on 43599  Progress:  1830 on 43599  Progress:  1831 on 43599  Progress:  1832 on 43599  Progress:  1833 on 43599  Progress:  1834 on 43599  Progress:  1835 on 43599  Progress:  1836 on 43599  Progress:  1837 on 43599  Progress:  1838 on 43599  Progress:  1839 on 43599  Progress:  1840 on 43599  Progress:  1841 on 43599  Progress:  1842 on 43599  Progress:  1843 on 43599  Progress:  1844 on 43599  Progress:  1845 on 43599  Progress:  1846 on 43599  Progress:  1847 on 43599  Progress:  1848 on 43599  Progress:  1849 on 43599  Progress:  1850 on 43599  Progress:  1851 on 43599  Progress:  1852 on 43599  Progress:  1853 on 43599  Progress:  1854 on 43599  Progress:  1855 on 43599  Progress:  1856 on 43599  Progress:  1857 on 43599  Progress:  1858 on 43599  Progress:  1859 on 43599  Progress:  1860 on 43599  Progress:  1861 on 43599  Progress:  1862 on 43599  Progress:  1863 on 43599  Progress:  1864 on 43599  Progress:  1865 on 43599  Progress:  1866 on 43599  Progress:  1867 on 43599  Progress:  1868 on 43599  Progress:  1869 on 43599  Progress:  1870 on 43599  Progress:  1871 on 43599  Progress:  1872 on 43599  Progress:  1873 on 43599  Progress:  1874 on 43599  Progress:  1875 on 43599  Progress:  1876 on 43599  Progress:  1877 on 43599  Progress:  1878 on 43599  Progress:  1879 on 43599  Progress:  1880 on 43599  Progress:  1881 on 43599  Progress:  1882 on 43599  Progress:  1883 on 43599  Progress:  1884 on 43599  Progress:  1885 on 43599  Progress:  1886 on 43599  Progress:  1887 on 43599  Progress:  1888 on 43599  Progress:  1889 on 43599  Progress:  1890 on 43599  Progress:  1891 on 43599  Progress:  1892 on 43599  Progress:  1893 on 43599  Progress:  1894 on 43599  Progress:  1895 on 43599  Progress:  1896 on 43599  Progress:  1897 on 43599  Progress:  1898 on 43599  Progress:  1899 on 43599  Progress:  1900 on 43599  Progress:  1901 on 43599  Progress:  1902 on 43599  Progress:  1903 on 43599  Progress:  1904 on 43599  Progress:  1905 on 43599  Progress:  1906 on 43599  Progress:  1907 on 43599  Progress:  1908 on 43599  Progress:  1909 on 43599  Progress:  1910 on 43599  Progress:  1911 on 43599  Progress:  1912 on 43599  Progress:  1913 on 43599  Progress:  1914 on 43599  Progress:  1915 on 43599  Progress:  1916 on 43599  Progress:  1917 on 43599  Progress:  1918 on 43599  Progress:  1919 on 43599  Progress:  1920 on 43599  Progress:  1921 on 43599  Progress:  1922 on 43599  Progress:  1923 on 43599  Progress:  1924 on 43599  Progress:  1925 on 43599  Progress:  1926 on 43599  Progress:  1927 on 43599  Progress:  1928 on 43599  Progress:  1929 on 43599  Progress:  1930 on 43599  Progress:  1931 on 43599  Progress:  1932 on 43599  Progress:  1933 on 43599  Progress:  1934 on 43599  Progress:  1935 on 43599  Progress:  1936 on 43599  Progress:  1937 on 43599  Progress:  1938 on 43599  Progress:  1939 on 43599  Progress:  1940 on 43599  Progress:  1941 on 43599  Progress:  1942 on 43599  Progress:  1943 on 43599  Progress:  1944 on 43599  Progress:  1945 on 43599  Progress:  1946 on 43599  Progress:  1947 on 43599  Progress:  1948 on 43599  Progress:  1949 on 43599  Progress:  1950 on 43599  Progress:  1951 on 43599  Progress:  1952 on 43599  Progress:  1953 on 43599  Progress:  1954 on 43599  Progress:  1955 on 43599  Progress:  1956 on 43599  Progress:  1957 on 43599  Progress:  1958 on 43599  Progress:  1959 on 43599  Progress:  1960 on 43599  Progress:  1961 on 43599  Progress:  1962 on 43599  Progress:  1963 on 43599  Progress:  1964 on 43599  Progress:  1965 on 43599  Progress:  1966 on 43599  Progress:  1967 on 43599  Progress:  1968 on 43599  Progress:  1969 on 43599  Progress:  1970 on 43599  Progress:  1971 on 43599  Progress:  1972 on 43599  Progress:  1973 on 43599  Progress:  1974 on 43599  Progress:  1975 on 43599  Progress:  1976 on 43599  Progress:  1977 on 43599  Progress:  1978 on 43599  Progress:  1979 on 43599  Progress:  1980 on 43599  Progress:  1981 on 43599  Progress:  1982 on 43599  Progress:  1983 on 43599  Progress:  1984 on 43599  Progress:  1985 on 43599  Progress:  1986 on 43599  Progress:  1987 on 43599  Progress:  1988 on 43599  Progress:  1989 on 43599  Progress:  1990 on 43599  Progress:  1991 on 43599  Progress:  1992 on 43599  Progress:  1993 on 43599  Progress:  1994 on 43599  Progress:  1995 on 43599  Progress:  1996 on 43599  Progress:  1997 on 43599  Progress:  1998 on 43599  Progress:  1999 on 43599  Progress:  2000 on 43599  Progress:  2001 on 43599  Progress:  2002 on 43599  Progress:  2003 on 43599  Progress:  2004 on 43599  Progress:  2005 on 43599  Progress:  2006 on 43599  Progress:  2007 on 43599  Progress:  2008 on 43599  Progress:  2009 on 43599  Progress:  2010 on 43599  Progress:  2011 on 43599  Progress:  2012 on 43599  Progress:  2013 on 43599  Progress:  2014 on 43599  Progress:  2015 on 43599  Progress:  2016 on 43599  Progress:  2017 on 43599  Progress:  2018 on 43599  Progress:  2019 on 43599  Progress:  2020 on 43599  Progress:  2021 on 43599  Progress:  2022 on 43599  Progress:  2023 on 43599  Progress:  2024 on 43599  Progress:  2025 on 43599  Progress:  2026 on 43599  Progress:  2027 on 43599  Progress:  2028 on 43599  Progress:  2029 on 43599  Progress:  2030 on 43599  Progress:  2031 on 43599  Progress:  2032 on 43599  Progress:  2033 on 43599  Progress:  2034 on 43599  Progress:  2035 on 43599  Progress:  2036 on 43599  Progress:  2037 on 43599  Progress:  2038 on 43599  Progress:  2039 on 43599  Progress:  2040 on 43599  Progress:  2041 on 43599  Progress:  2042 on 43599  Progress:  2043 on 43599  Progress:  2044 on 43599  Progress:  2045 on 43599  Progress:  2046 on 43599  Progress:  2047 on 43599  Progress:  2048 on 43599  Progress:  2049 on 43599  Progress:  2050 on 43599  Progress:  2051 on 43599  Progress:  2052 on 43599  Progress:  2053 on 43599  Progress:  2054 on 43599  Progress:  2055 on 43599  Progress:  2056 on 43599  Progress:  2057 on 43599  Progress:  2058 on 43599  Progress:  2059 on 43599  Progress:  2060 on 43599  Progress:  2061 on 43599  Progress:  2062 on 43599  Progress:  2063 on 43599  Progress:  2064 on 43599  Progress:  2065 on 43599  Progress:  2066 on 43599  Progress:  2067 on 43599  Progress:  2068 on 43599  Progress:  2069 on 43599  Progress:  2070 on 43599  Progress:  2071 on 43599  Progress:  2072 on 43599  Progress:  2073 on 43599  Progress:  2074 on 43599  Progress:  2075 on 43599  Progress:  2076 on 43599  Progress:  2077 on 43599  Progress:  2078 on 43599  Progress:  2079 on 43599  Progress:  2080 on 43599  Progress:  2081 on 43599  Progress:  2082 on 43599  Progress:  2083 on 43599  Progress:  2084 on 43599  Progress:  2085 on 43599  Progress:  2086 on 43599  Progress:  2087 on 43599  Progress:  2088 on 43599  Progress:  2089 on 43599  Progress:  2090 on 43599  Progress:  2091 on 43599  Progress:  2092 on 43599  Progress:  2093 on 43599  Progress:  2094 on 43599  Progress:  2095 on 43599  Progress:  2096 on 43599  Progress:  2097 on 43599  Progress:  2098 on 43599  Progress:  2099 on 43599  Progress:  2100 on 43599  Progress:  2101 on 43599  Progress:  2102 on 43599  Progress:  2103 on 43599  Progress:  2104 on 43599  Progress:  2105 on 43599  Progress:  2106 on 43599  Progress:  2107 on 43599  Progress:  2108 on 43599  Progress:  2109 on 43599  Progress:  2110 on 43599  Progress:  2111 on 43599  Progress:  2112 on 43599  Progress:  2113 on 43599  Progress:  2114 on 43599  Progress:  2115 on 43599  Progress:  2116 on 43599  Progress:  2117 on 43599  Progress:  2118 on 43599  Progress:  2119 on 43599  Progress:  2120 on 43599  Progress:  2121 on 43599  Progress:  2122 on 43599  Progress:  2123 on 43599  Progress:  2124 on 43599  Progress:  2125 on 43599  Progress:  2126 on 43599  Progress:  2127 on 43599  Progress:  2128 on 43599  Progress:  2129 on 43599  Progress:  2130 on 43599  Progress:  2131 on 43599  Progress:  2132 on 43599  Progress:  2133 on 43599  Progress:  2134 on 43599  Progress:  2135 on 43599  Progress:  2136 on 43599  Progress:  2137 on 43599  Progress:  2138 on 43599  Progress:  2139 on 43599  Progress:  2140 on 43599  Progress:  2141 on 43599  Progress:  2142 on 43599  Progress:  2143 on 43599  Progress:  2144 on 43599  Progress:  2145 on 43599  Progress:  2146 on 43599  Progress:  2147 on 43599  Progress:  2148 on 43599  Progress:  2149 on 43599  Progress:  2150 on 43599  Progress:  2151 on 43599  Progress:  2152 on 43599  Progress:  2153 on 43599  Progress:  2154 on 43599  Progress:  2155 on 43599  Progress:  2156 on 43599  Progress:  2157 on 43599  Progress:  2158 on 43599  Progress:  2159 on 43599  Progress:  2160 on 43599  Progress:  2161 on 43599  Progress:  2162 on 43599  Progress:  2163 on 43599  Progress:  2164 on 43599  Progress:  2165 on 43599  Progress:  2166 on 43599  Progress:  2167 on 43599  Progress:  2168 on 43599  Progress:  2169 on 43599  Progress:  2170 on 43599  Progress:  2171 on 43599  Progress:  2172 on 43599  Progress:  2173 on 43599  Progress:  2174 on 43599  Progress:  2175 on 43599  Progress:  2176 on 43599  Progress:  2177 on 43599  Progress:  2178 on 43599  Progress:  2179 on 43599  Progress:  2180 on 43599  Progress:  2181 on 43599  Progress:  2182 on 43599  Progress:  2183 on 43599  Progress:  2184 on 43599  Progress:  2185 on 43599  Progress:  2186 on 43599  Progress:  2187 on 43599  Progress:  2188 on 43599  Progress:  2189 on 43599  Progress:  2190 on 43599  Progress:  2191 on 43599  Progress:  2192 on 43599  Progress:  2193 on 43599  Progress:  2194 on 43599  Progress:  2195 on 43599  Progress:  2196 on 43599  Progress:  2197 on 43599  Progress:  2198 on 43599  Progress:  2199 on 43599  Progress:  2200 on 43599  Progress:  2201 on 43599  Progress:  2202 on 43599  Progress:  2203 on 43599  Progress:  2204 on 43599  Progress:  2205 on 43599  Progress:  2206 on 43599  Progress:  2207 on 43599  Progress:  2208 on 43599  Progress:  2209 on 43599  Progress:  2210 on 43599  Progress:  2211 on 43599  Progress:  2212 on 43599  Progress:  2213 on 43599  Progress:  2214 on 43599  Progress:  2215 on 43599  Progress:  2216 on 43599  Progress:  2217 on 43599  Progress:  2218 on 43599  Progress:  2219 on 43599  Progress:  2220 on 43599  Progress:  2221 on 43599  Progress:  2222 on 43599  Progress:  2223 on 43599  Progress:  2224 on 43599  Progress:  2225 on 43599  Progress:  2226 on 43599  Progress:  2227 on 43599  Progress:  2228 on 43599  Progress:  2229 on 43599  Progress:  2230 on 43599  Progress:  2231 on 43599  Progress:  2232 on 43599  Progress:  2233 on 43599  Progress:  2234 on 43599  Progress:  2235 on 43599  Progress:  2236 on 43599  Progress:  2237 on 43599  Progress:  2238 on 43599  Progress:  2239 on 43599  Progress:  2240 on 43599  Progress:  2241 on 43599  Progress:  2242 on 43599  Progress:  2243 on 43599  Progress:  2244 on 43599  Progress:  2245 on 43599  Progress:  2246 on 43599  Progress:  2247 on 43599  Progress:  2248 on 43599  Progress:  2249 on 43599  Progress:  2250 on 43599  Progress:  2251 on 43599  Progress:  2252 on 43599  Progress:  2253 on 43599  Progress:  2254 on 43599  Progress:  2255 on 43599  Progress:  2256 on 43599  Progress:  2257 on 43599  Progress:  2258 on 43599  Progress:  2259 on 43599  Progress:  2260 on 43599  Progress:  2261 on 43599  Progress:  2262 on 43599  Progress:  2263 on 43599  Progress:  2264 on 43599  Progress:  2265 on 43599  Progress:  2266 on 43599  Progress:  2267 on 43599  Progress:  2268 on 43599  Progress:  2269 on 43599  Progress:  2270 on 43599  Progress:  2271 on 43599  Progress:  2272 on 43599  Progress:  2273 on 43599  Progress:  2274 on 43599  Progress:  2275 on 43599  Progress:  2276 on 43599  Progress:  2277 on 43599  Progress:  2278 on 43599  Progress:  2279 on 43599  Progress:  2280 on 43599  Progress:  2281 on 43599  Progress:  2282 on 43599  Progress:  2283 on 43599  Progress:  2284 on 43599  Progress:  2285 on 43599  Progress:  2286 on 43599  Progress:  2287 on 43599  Progress:  2288 on 43599  Progress:  2289 on 43599  Progress:  2290 on 43599  Progress:  2291 on 43599  Progress:  2292 on 43599  Progress:  2293 on 43599  Progress:  2294 on 43599  Progress:  2295 on 43599  Progress:  2296 on 43599  Progress:  2297 on 43599  Progress:  2298 on 43599  Progress:  2299 on 43599  Progress:  2300 on 43599  Progress:  2301 on 43599  Progress:  2302 on 43599  Progress:  2303 on 43599  Progress:  2304 on 43599  Progress:  2305 on 43599  Progress:  2306 on 43599  Progress:  2307 on 43599  Progress:  2308 on 43599  Progress:  2309 on 43599  Progress:  2310 on 43599  Progress:  2311 on 43599  Progress:  2312 on 43599  Progress:  2313 on 43599  Progress:  2314 on 43599  Progress:  2315 on 43599  Progress:  2316 on 43599  Progress:  2317 on 43599  Progress:  2318 on 43599  Progress:  2319 on 43599  Progress:  2320 on 43599  Progress:  2321 on 43599  Progress:  2322 on 43599  Progress:  2323 on 43599  Progress:  2324 on 43599  Progress:  2325 on 43599  Progress:  2326 on 43599  Progress:  2327 on 43599  Progress:  2328 on 43599  Progress:  2329 on 43599  Progress:  2330 on 43599  Progress:  2331 on 43599  Progress:  2332 on 43599  Progress:  2333 on 43599  Progress:  2334 on 43599  Progress:  2335 on 43599  Progress:  2336 on 43599  Progress:  2337 on 43599  Progress:  2338 on 43599  Progress:  2339 on 43599  Progress:  2340 on 43599  Progress:  2341 on 43599  Progress:  2342 on 43599  Progress:  2343 on 43599  Progress:  2344 on 43599  Progress:  2345 on 43599  Progress:  2346 on 43599  Progress:  2347 on 43599  Progress:  2348 on 43599  Progress:  2349 on 43599  Progress:  2350 on 43599  Progress:  2351 on 43599  Progress:  2352 on 43599  Progress:  2353 on 43599  Progress:  2354 on 43599  Progress:  2355 on 43599  Progress:  2356 on 43599  Progress:  2357 on 43599  Progress:  2358 on 43599  Progress:  2359 on 43599  Progress:  2360 on 43599  Progress:  2361 on 43599  Progress:  2362 on 43599  Progress:  2363 on 43599  Progress:  2364 on 43599  Progress:  2365 on 43599  Progress:  2366 on 43599  Progress:  2367 on 43599  Progress:  2368 on 43599  Progress:  2369 on 43599  Progress:  2370 on 43599  Progress:  2371 on 43599  Progress:  2372 on 43599  Progress:  2373 on 43599  Progress:  2374 on 43599  Progress:  2375 on 43599  Progress:  2376 on 43599  Progress:  2377 on 43599  Progress:  2378 on 43599  Progress:  2379 on 43599  Progress:  2380 on 43599  Progress:  2381 on 43599  Progress:  2382 on 43599  Progress:  2383 on 43599  Progress:  2384 on 43599  Progress:  2385 on 43599  Progress:  2386 on 43599  Progress:  2387 on 43599  Progress:  2388 on 43599  Progress:  2389 on 43599  Progress:  2390 on 43599  Progress:  2391 on 43599  Progress:  2392 on 43599  Progress:  2393 on 43599  Progress:  2394 on 43599  Progress:  2395 on 43599  Progress:  2396 on 43599  Progress:  2397 on 43599  Progress:  2398 on 43599  Progress:  2399 on 43599  Progress:  2400 on 43599  Progress:  2401 on 43599  Progress:  2402 on 43599  Progress:  2403 on 43599  Progress:  2404 on 43599  Progress:  2405 on 43599  Progress:  2406 on 43599  Progress:  2407 on 43599  Progress:  2408 on 43599  Progress:  2409 on 43599  Progress:  2410 on 43599  Progress:  2411 on 43599  Progress:  2412 on 43599  Progress:  2413 on 43599  Progress:  2414 on 43599  Progress:  2415 on 43599  Progress:  2416 on 43599  Progress:  2417 on 43599  Progress:  2418 on 43599  Progress:  2419 on 43599  Progress:  2420 on 43599  Progress:  2421 on 43599  Progress:  2422 on 43599  Progress:  2423 on 43599  Progress:  2424 on 43599  Progress:  2425 on 43599  Progress:  2426 on 43599  Progress:  2427 on 43599  Progress:  2428 on 43599  Progress:  2429 on 43599  Progress:  2430 on 43599  Progress:  2431 on 43599  Progress:  2432 on 43599  Progress:  2433 on 43599  Progress:  2434 on 43599  Progress:  2435 on 43599  Progress:  2436 on 43599  Progress:  2437 on 43599  Progress:  2438 on 43599  Progress:  2439 on 43599  Progress:  2440 on 43599  Progress:  2441 on 43599  Progress:  2442 on 43599  Progress:  2443 on 43599  Progress:  2444 on 43599  Progress:  2445 on 43599  Progress:  2446 on 43599  Progress:  2447 on 43599  Progress:  2448 on 43599  Progress:  2449 on 43599  Progress:  2450 on 43599  Progress:  2451 on 43599  Progress:  2452 on 43599  Progress:  2453 on 43599  Progress:  2454 on 43599  Progress:  2455 on 43599  Progress:  2456 on 43599  Progress:  2457 on 43599  Progress:  2458 on 43599  Progress:  2459 on 43599  Progress:  2460 on 43599  Progress:  2461 on 43599  Progress:  2462 on 43599  Progress:  2463 on 43599  Progress:  2464 on 43599  Progress:  2465 on 43599  Progress:  2466 on 43599  Progress:  2467 on 43599  Progress:  2468 on 43599  Progress:  2469 on 43599  Progress:  2470 on 43599  Progress:  2471 on 43599  Progress:  2472 on 43599  Progress:  2473 on 43599  Progress:  2474 on 43599  Progress:  2475 on 43599  Progress:  2476 on 43599  Progress:  2477 on 43599  Progress:  2478 on 43599  Progress:  2479 on 43599  Progress:  2480 on 43599  Progress:  2481 on 43599  Progress:  2482 on 43599  Progress:  2483 on 43599  Progress:  2484 on 43599  Progress:  2485 on 43599  Progress:  2486 on 43599  Progress:  2487 on 43599  Progress:  2488 on 43599  Progress:  2489 on 43599  Progress:  2490 on 43599  Progress:  2491 on 43599  Progress:  2492 on 43599  Progress:  2493 on 43599  Progress:  2494 on 43599  Progress:  2495 on 43599  Progress:  2496 on 43599  Progress:  2497 on 43599  Progress:  2498 on 43599  Progress:  2499 on 43599  Progress:  2500 on 43599  Progress:  2501 on 43599  Progress:  2502 on 43599  Progress:  2503 on 43599  Progress:  2504 on 43599  Progress:  2505 on 43599  Progress:  2506 on 43599  Progress:  2507 on 43599  Progress:  2508 on 43599  Progress:  2509 on 43599  Progress:  2510 on 43599  Progress:  2511 on 43599  Progress:  2512 on 43599  Progress:  2513 on 43599  Progress:  2514 on 43599  Progress:  2515 on 43599  Progress:  2516 on 43599  Progress:  2517 on 43599  Progress:  2518 on 43599  Progress:  2519 on 43599  Progress:  2520 on 43599  Progress:  2521 on 43599  Progress:  2522 on 43599  Progress:  2523 on 43599  Progress:  2524 on 43599  Progress:  2525 on 43599  Progress:  2526 on 43599  Progress:  2527 on 43599  Progress:  2528 on 43599  Progress:  2529 on 43599  Progress:  2530 on 43599  Progress:  2531 on 43599  Progress:  2532 on 43599  Progress:  2533 on 43599  Progress:  2534 on 43599  Progress:  2535 on 43599  Progress:  2536 on 43599  Progress:  2537 on 43599  Progress:  2538 on 43599  Progress:  2539 on 43599  Progress:  2540 on 43599  Progress:  2541 on 43599  Progress:  2542 on 43599  Progress:  2543 on 43599  Progress:  2544 on 43599  Progress:  2545 on 43599  Progress:  2546 on 43599  Progress:  2547 on 43599  Progress:  2548 on 43599  Progress:  2549 on 43599  Progress:  2550 on 43599  Progress:  2551 on 43599  Progress:  2552 on 43599  Progress:  2553 on 43599  Progress:  2554 on 43599  Progress:  2555 on 43599  Progress:  2556 on 43599  Progress:  2557 on 43599  Progress:  2558 on 43599  Progress:  2559 on 43599  Progress:  2560 on 43599  Progress:  2561 on 43599  Progress:  2562 on 43599  Progress:  2563 on 43599  Progress:  2564 on 43599  Progress:  2565 on 43599  Progress:  2566 on 43599  Progress:  2567 on 43599  Progress:  2568 on 43599  Progress:  2569 on 43599  Progress:  2570 on 43599  Progress:  2571 on 43599  Progress:  2572 on 43599  Progress:  2573 on 43599  Progress:  2574 on 43599  Progress:  2575 on 43599  Progress:  2576 on 43599  Progress:  2577 on 43599  Progress:  2578 on 43599  Progress:  2579 on 43599  Progress:  2580 on 43599  Progress:  2581 on 43599  Progress:  2582 on 43599  Progress:  2583 on 43599  Progress:  2584 on 43599  Progress:  2585 on 43599  Progress:  2586 on 43599  Progress:  2587 on 43599  Progress:  2588 on 43599  Progress:  2589 on 43599  Progress:  2590 on 43599  Progress:  2591 on 43599  Progress:  2592 on 43599  Progress:  2593 on 43599  Progress:  2594 on 43599  Progress:  2595 on 43599  Progress:  2596 on 43599  Progress:  2597 on 43599  Progress:  2598 on 43599  Progress:  2599 on 43599  Progress:  2600 on 43599  Progress:  2601 on 43599  Progress:  2602 on 43599  Progress:  2603 on 43599  Progress:  2604 on 43599  Progress:  2605 on 43599  Progress:  2606 on 43599  Progress:  2607 on 43599  Progress:  2608 on 43599  Progress:  2609 on 43599  Progress:  2610 on 43599  Progress:  2611 on 43599  Progress:  2612 on 43599  Progress:  2613 on 43599  Progress:  2614 on 43599  Progress:  2615 on 43599  Progress:  2616 on 43599  Progress:  2617 on 43599  Progress:  2618 on 43599  Progress:  2619 on 43599  Progress:  2620 on 43599  Progress:  2621 on 43599  Progress:  2622 on 43599  Progress:  2623 on 43599  Progress:  2624 on 43599  Progress:  2625 on 43599  Progress:  2626 on 43599  Progress:  2627 on 43599  Progress:  2628 on 43599  Progress:  2629 on 43599  Progress:  2630 on 43599  Progress:  2631 on 43599  Progress:  2632 on 43599  Progress:  2633 on 43599  Progress:  2634 on 43599  Progress:  2635 on 43599  Progress:  2636 on 43599  Progress:  2637 on 43599  Progress:  2638 on 43599  Progress:  2639 on 43599  Progress:  2640 on 43599  Progress:  2641 on 43599  Progress:  2642 on 43599  Progress:  2643 on 43599  Progress:  2644 on 43599  Progress:  2645 on 43599  Progress:  2646 on 43599  Progress:  2647 on 43599  Progress:  2648 on 43599  Progress:  2649 on 43599  Progress:  2650 on 43599  Progress:  2651 on 43599  Progress:  2652 on 43599  Progress:  2653 on 43599  Progress:  2654 on 43599  Progress:  2655 on 43599  Progress:  2656 on 43599  Progress:  2657 on 43599  Progress:  2658 on 43599  Progress:  2659 on 43599  Progress:  2660 on 43599  Progress:  2661 on 43599  Progress:  2662 on 43599  Progress:  2663 on 43599  Progress:  2664 on 43599  Progress:  2665 on 43599  Progress:  2666 on 43599  Progress:  2667 on 43599  Progress:  2668 on 43599  Progress:  2669 on 43599  Progress:  2670 on 43599  Progress:  2671 on 43599  Progress:  2672 on 43599  Progress:  2673 on 43599  Progress:  2674 on 43599  Progress:  2675 on 43599  Progress:  2676 on 43599  Progress:  2677 on 43599  Progress:  2678 on 43599  Progress:  2679 on 43599  Progress:  2680 on 43599  Progress:  2681 on 43599  Progress:  2682 on 43599  Progress:  2683 on 43599  Progress:  2684 on 43599  Progress:  2685 on 43599  Progress:  2686 on 43599  Progress:  2687 on 43599  Progress:  2688 on 43599  Progress:  2689 on 43599  Progress:  2690 on 43599  Progress:  2691 on 43599  Progress:  2692 on 43599  Progress:  2693 on 43599  Progress:  2694 on 43599  Progress:  2695 on 43599  Progress:  2696 on 43599  Progress:  2697 on 43599  Progress:  2698 on 43599  Progress:  2699 on 43599  Progress:  2700 on 43599  Progress:  2701 on 43599  Progress:  2702 on 43599  Progress:  2703 on 43599  Progress:  2704 on 43599  Progress:  2705 on 43599  Progress:  2706 on 43599  Progress:  2707 on 43599  Progress:  2708 on 43599  Progress:  2709 on 43599  Progress:  2710 on 43599  Progress:  2711 on 43599  Progress:  2712 on 43599  Progress:  2713 on 43599  Progress:  2714 on 43599  Progress:  2715 on 43599  Progress:  2716 on 43599  Progress:  2717 on 43599  Progress:  2718 on 43599  Progress:  2719 on 43599  Progress:  2720 on 43599  Progress:  2721 on 43599  Progress:  2722 on 43599  Progress:  2723 on 43599  Progress:  2724 on 43599  Progress:  2725 on 43599  Progress:  2726 on 43599  Progress:  2727 on 43599  Progress:  2728 on 43599  Progress:  2729 on 43599  Progress:  2730 on 43599  Progress:  2731 on 43599  Progress:  2732 on 43599  Progress:  2733 on 43599  Progress:  2734 on 43599  Progress:  2735 on 43599  Progress:  2736 on 43599  Progress:  2737 on 43599  Progress:  2738 on 43599  Progress:  2739 on 43599  Progress:  2740 on 43599  Progress:  2741 on 43599  Progress:  2742 on 43599  Progress:  2743 on 43599  Progress:  2744 on 43599  Progress:  2745 on 43599  Progress:  2746 on 43599  Progress:  2747 on 43599  Progress:  2748 on 43599  Progress:  2749 on 43599  Progress:  2750 on 43599  Progress:  2751 on 43599  Progress:  2752 on 43599  Progress:  2753 on 43599  Progress:  2754 on 43599  Progress:  2755 on 43599  Progress:  2756 on 43599  Progress:  2757 on 43599  Progress:  2758 on 43599  Progress:  2759 on 43599  Progress:  2760 on 43599  Progress:  2761 on 43599  Progress:  2762 on 43599  Progress:  2763 on 43599  Progress:  2764 on 43599  Progress:  2765 on 43599  Progress:  2766 on 43599  Progress:  2767 on 43599  Progress:  2768 on 43599  Progress:  2769 on 43599  Progress:  2770 on 43599  Progress:  2771 on 43599  Progress:  2772 on 43599  Progress:  2773 on 43599  Progress:  2774 on 43599  Progress:  2775 on 43599  Progress:  2776 on 43599  Progress:  2777 on 43599  Progress:  2778 on 43599  Progress:  2779 on 43599  Progress:  2780 on 43599  Progress:  2781 on 43599  Progress:  2782 on 43599  Progress:  2783 on 43599  Progress:  2784 on 43599  Progress:  2785 on 43599  Progress:  2786 on 43599  Progress:  2787 on 43599  Progress:  2788 on 43599  Progress:  2789 on 43599  Progress:  2790 on 43599  Progress:  2791 on 43599  Progress:  2792 on 43599  Progress:  2793 on 43599  Progress:  2794 on 43599  Progress:  2795 on 43599  Progress:  2796 on 43599  Progress:  2797 on 43599  Progress:  2798 on 43599  Progress:  2799 on 43599  Progress:  2800 on 43599  Progress:  2801 on 43599  Progress:  2802 on 43599  Progress:  2803 on 43599  Progress:  2804 on 43599  Progress:  2805 on 43599  Progress:  2806 on 43599  Progress:  2807 on 43599  Progress:  2808 on 43599  Progress:  2809 on 43599  Progress:  2810 on 43599  Progress:  2811 on 43599  Progress:  2812 on 43599  Progress:  2813 on 43599  Progress:  2814 on 43599  Progress:  2815 on 43599  Progress:  2816 on 43599  Progress:  2817 on 43599  Progress:  2818 on 43599  Progress:  2819 on 43599  Progress:  2820 on 43599  Progress:  2821 on 43599  Progress:  2822 on 43599  Progress:  2823 on 43599  Progress:  2824 on 43599  Progress:  2825 on 43599  Progress:  2826 on 43599  Progress:  2827 on 43599  Progress:  2828 on 43599  Progress:  2829 on 43599  Progress:  2830 on 43599  Progress:  2831 on 43599  Progress:  2832 on 43599  Progress:  2833 on 43599  Progress:  2834 on 43599  Progress:  2835 on 43599  Progress:  2836 on 43599  Progress:  2837 on 43599  Progress:  2838 on 43599  Progress:  2839 on 43599  Progress:  2840 on 43599  Progress:  2841 on 43599  Progress:  2842 on 43599  Progress:  2843 on 43599  Progress:  2844 on 43599  Progress:  2845 on 43599  Progress:  2846 on 43599  Progress:  2847 on 43599  Progress:  2848 on 43599  Progress:  2849 on 43599  Progress:  2850 on 43599  Progress:  2851 on 43599  Progress:  2852 on 43599  Progress:  2853 on 43599  Progress:  2854 on 43599  Progress:  2855 on 43599  Progress:  2856 on 43599  Progress:  2857 on 43599  Progress:  2858 on 43599  Progress:  2859 on 43599  Progress:  2860 on 43599  Progress:  2861 on 43599  Progress:  2862 on 43599  Progress:  2863 on 43599  Progress:  2864 on 43599  Progress:  2865 on 43599  Progress:  2866 on 43599  Progress:  2867 on 43599  Progress:  2868 on 43599  Progress:  2869 on 43599  Progress:  2870 on 43599  Progress:  2871 on 43599  Progress:  2872 on 43599  Progress:  2873 on 43599  Progress:  2874 on 43599  Progress:  2875 on 43599  Progress:  2876 on 43599  Progress:  2877 on 43599  Progress:  2878 on 43599  Progress:  2879 on 43599  Progress:  2880 on 43599  Progress:  2881 on 43599  Progress:  2882 on 43599  Progress:  2883 on 43599  Progress:  2884 on 43599  Progress:  2885 on 43599  Progress:  2886 on 43599  Progress:  2887 on 43599  Progress:  2888 on 43599  Progress:  2889 on 43599  Progress:  2890 on 43599  Progress:  2891 on 43599  Progress:  2892 on 43599  Progress:  2893 on 43599  Progress:  2894 on 43599  Progress:  2895 on 43599  Progress:  2896 on 43599  Progress:  2897 on 43599  Progress:  2898 on 43599  Progress:  2899 on 43599  Progress:  2900 on 43599  Progress:  2901 on 43599  Progress:  2902 on 43599  Progress:  2903 on 43599  Progress:  2904 on 43599  Progress:  2905 on 43599  Progress:  2906 on 43599  Progress:  2907 on 43599  Progress:  2908 on 43599  Progress:  2909 on 43599  Progress:  2910 on 43599  Progress:  2911 on 43599  Progress:  2912 on 43599  Progress:  2913 on 43599  Progress:  2914 on 43599  Progress:  2915 on 43599  Progress:  2916 on 43599  Progress:  2917 on 43599  Progress:  2918 on 43599  Progress:  2919 on 43599  Progress:  2920 on 43599  Progress:  2921 on 43599  Progress:  2922 on 43599  Progress:  2923 on 43599  Progress:  2924 on 43599  Progress:  2925 on 43599  Progress:  2926 on 43599  Progress:  2927 on 43599  Progress:  2928 on 43599  Progress:  2929 on 43599  Progress:  2930 on 43599  Progress:  2931 on 43599  Progress:  2932 on 43599  Progress:  2933 on 43599  Progress:  2934 on 43599  Progress:  2935 on 43599  Progress:  2936 on 43599  Progress:  2937 on 43599  Progress:  2938 on 43599  Progress:  2939 on 43599  Progress:  2940 on 43599  Progress:  2941 on 43599  Progress:  2942 on 43599  Progress:  2943 on 43599  Progress:  2944 on 43599  Progress:  2945 on 43599  Progress:  2946 on 43599  Progress:  2947 on 43599  Progress:  2948 on 43599  Progress:  2949 on 43599  Progress:  2950 on 43599  Progress:  2951 on 43599  Progress:  2952 on 43599  Progress:  2953 on 43599  Progress:  2954 on 43599  Progress:  2955 on 43599  Progress:  2956 on 43599  Progress:  2957 on 43599  Progress:  2958 on 43599  Progress:  2959 on 43599  Progress:  2960 on 43599  Progress:  2961 on 43599  Progress:  2962 on 43599  Progress:  2963 on 43599  Progress:  2964 on 43599  Progress:  2965 on 43599  Progress:  2966 on 43599  Progress:  2967 on 43599  Progress:  2968 on 43599  Progress:  2969 on 43599  Progress:  2970 on 43599  Progress:  2971 on 43599  Progress:  2972 on 43599  Progress:  2973 on 43599  Progress:  2974 on 43599  Progress:  2975 on 43599  Progress:  2976 on 43599  Progress:  2977 on 43599  Progress:  2978 on 43599  Progress:  2979 on 43599  Progress:  2980 on 43599  Progress:  2981 on 43599  Progress:  2982 on 43599  Progress:  2983 on 43599  Progress:  2984 on 43599  Progress:  2985 on 43599  Progress:  2986 on 43599  Progress:  2987 on 43599  Progress:  2988 on 43599  Progress:  2989 on 43599  Progress:  2990 on 43599  Progress:  2991 on 43599  Progress:  2992 on 43599  Progress:  2993 on 43599  Progress:  2994 on 43599  Progress:  2995 on 43599  Progress:  2996 on 43599  Progress:  2997 on 43599  Progress:  2998 on 43599  Progress:  2999 on 43599  Progress:  3000 on 43599  Progress:  3001 on 43599  Progress:  3002 on 43599  Progress:  3003 on 43599  Progress:  3004 on 43599  Progress:  3005 on 43599  Progress:  3006 on 43599  Progress:  3007 on 43599  Progress:  3008 on 43599  Progress:  3009 on 43599  Progress:  3010 on 43599  Progress:  3011 on 43599  Progress:  3012 on 43599  Progress:  3013 on 43599  Progress:  3014 on 43599  Progress:  3015 on 43599  Progress:  3016 on 43599  Progress:  3017 on 43599  Progress:  3018 on 43599  Progress:  3019 on 43599  Progress:  3020 on 43599  Progress:  3021 on 43599  Progress:  3022 on 43599  Progress:  3023 on 43599  Progress:  3024 on 43599  Progress:  3025 on 43599  Progress:  3026 on 43599  Progress:  3027 on 43599  Progress:  3028 on 43599  Progress:  3029 on 43599  Progress:  3030 on 43599  Progress:  3031 on 43599  Progress:  3032 on 43599  Progress:  3033 on 43599  Progress:  3034 on 43599  Progress:  3035 on 43599  Progress:  3036 on 43599  Progress:  3037 on 43599  Progress:  3038 on 43599  Progress:  3039 on 43599  Progress:  3040 on 43599  Progress:  3041 on 43599  Progress:  3042 on 43599  Progress:  3043 on 43599  Progress:  3044 on 43599  Progress:  3045 on 43599  Progress:  3046 on 43599  Progress:  3047 on 43599  Progress:  3048 on 43599  Progress:  3049 on 43599  Progress:  3050 on 43599  Progress:  3051 on 43599  Progress:  3052 on 43599  Progress:  3053 on 43599  Progress:  3054 on 43599  Progress:  3055 on 43599  Progress:  3056 on 43599  Progress:  3057 on 43599  Progress:  3058 on 43599  Progress:  3059 on 43599  Progress:  3060 on 43599  Progress:  3061 on 43599  Progress:  3062 on 43599  Progress:  3063 on 43599  Progress:  3064 on 43599  Progress:  3065 on 43599  Progress:  3066 on 43599  Progress:  3067 on 43599  Progress:  3068 on 43599  Progress:  3069 on 43599  Progress:  3070 on 43599  Progress:  3071 on 43599  Progress:  3072 on 43599  Progress:  3073 on 43599  Progress:  3074 on 43599  Progress:  3075 on 43599  Progress:  3076 on 43599  Progress:  3077 on 43599  Progress:  3078 on 43599  Progress:  3079 on 43599  Progress:  3080 on 43599  Progress:  3081 on 43599  Progress:  3082 on 43599  Progress:  3083 on 43599  Progress:  3084 on 43599  Progress:  3085 on 43599  Progress:  3086 on 43599  Progress:  3087 on 43599  Progress:  3088 on 43599  Progress:  3089 on 43599  Progress:  3090 on 43599  Progress:  3091 on 43599  Progress:  3092 on 43599  Progress:  3093 on 43599  Progress:  3094 on 43599  Progress:  3095 on 43599  Progress:  3096 on 43599  Progress:  3097 on 43599  Progress:  3098 on 43599  Progress:  3099 on 43599  Progress:  3100 on 43599  Progress:  3101 on 43599  Progress:  3102 on 43599  Progress:  3103 on 43599  Progress:  3104 on 43599  Progress:  3105 on 43599  Progress:  3106 on 43599  Progress:  3107 on 43599  Progress:  3108 on 43599  Progress:  3109 on 43599  Progress:  3110 on 43599  Progress:  3111 on 43599  Progress:  3112 on 43599  Progress:  3113 on 43599  Progress:  3114 on 43599  Progress:  3115 on 43599  Progress:  3116 on 43599  Progress:  3117 on 43599  Progress:  3118 on 43599  Progress:  3119 on 43599  Progress:  3120 on 43599  Progress:  3121 on 43599  Progress:  3122 on 43599  Progress:  3123 on 43599  Progress:  3124 on 43599  Progress:  3125 on 43599  Progress:  3126 on 43599  Progress:  3127 on 43599  Progress:  3128 on 43599  Progress:  3129 on 43599  Progress:  3130 on 43599  Progress:  3131 on 43599  Progress:  3132 on 43599  Progress:  3133 on 43599  Progress:  3134 on 43599  Progress:  3135 on 43599  Progress:  3136 on 43599  Progress:  3137 on 43599  Progress:  3138 on 43599  Progress:  3139 on 43599  Progress:  3140 on 43599  Progress:  3141 on 43599  Progress:  3142 on 43599  Progress:  3143 on 43599  Progress:  3144 on 43599  Progress:  3145 on 43599  Progress:  3146 on 43599  Progress:  3147 on 43599  Progress:  3148 on 43599  Progress:  3149 on 43599  Progress:  3150 on 43599  Progress:  3151 on 43599  Progress:  3152 on 43599  Progress:  3153 on 43599  Progress:  3154 on 43599  Progress:  3155 on 43599  Progress:  3156 on 43599  Progress:  3157 on 43599  Progress:  3158 on 43599  Progress:  3159 on 43599  Progress:  3160 on 43599  Progress:  3161 on 43599  Progress:  3162 on 43599  Progress:  3163 on 43599  Progress:  3164 on 43599  Progress:  3165 on 43599  Progress:  3166 on 43599  Progress:  3167 on 43599  Progress:  3168 on 43599  Progress:  3169 on 43599  Progress:  3170 on 43599  Progress:  3171 on 43599  Progress:  3172 on 43599  Progress:  3173 on 43599  Progress:  3174 on 43599  Progress:  3175 on 43599  Progress:  3176 on 43599  Progress:  3177 on 43599  Progress:  3178 on 43599  Progress:  3179 on 43599  Progress:  3180 on 43599  Progress:  3181 on 43599  Progress:  3182 on 43599  Progress:  3183 on 43599  Progress:  3184 on 43599  Progress:  3185 on 43599  Progress:  3186 on 43599  Progress:  3187 on 43599  Progress:  3188 on 43599  Progress:  3189 on 43599  Progress:  3190 on 43599  Progress:  3191 on 43599  Progress:  3192 on 43599  Progress:  3193 on 43599  Progress:  3194 on 43599  Progress:  3195 on 43599  Progress:  3196 on 43599  Progress:  3197 on 43599  Progress:  3198 on 43599  Progress:  3199 on 43599  Progress:  3200 on 43599  Progress:  3201 on 43599  Progress:  3202 on 43599  Progress:  3203 on 43599  Progress:  3204 on 43599  Progress:  3205 on 43599  Progress:  3206 on 43599  Progress:  3207 on 43599  Progress:  3208 on 43599  Progress:  3209 on 43599  Progress:  3210 on 43599  Progress:  3211 on 43599  Progress:  3212 on 43599  Progress:  3213 on 43599  Progress:  3214 on 43599  Progress:  3215 on 43599  Progress:  3216 on 43599  Progress:  3217 on 43599  Progress:  3218 on 43599  Progress:  3219 on 43599  Progress:  3220 on 43599  Progress:  3221 on 43599  Progress:  3222 on 43599  Progress:  3223 on 43599  Progress:  3224 on 43599  Progress:  3225 on 43599  Progress:  3226 on 43599  Progress:  3227 on 43599  Progress:  3228 on 43599  Progress:  3229 on 43599  Progress:  3230 on 43599  Progress:  3231 on 43599  Progress:  3232 on 43599  Progress:  3233 on 43599  Progress:  3234 on 43599  Progress:  3235 on 43599  Progress:  3236 on 43599  Progress:  3237 on 43599  Progress:  3238 on 43599  Progress:  3239 on 43599  Progress:  3240 on 43599  Progress:  3241 on 43599  Progress:  3242 on 43599  Progress:  3243 on 43599  Progress:  3244 on 43599  Progress:  3245 on 43599  Progress:  3246 on 43599  Progress:  3247 on 43599  Progress:  3248 on 43599  Progress:  3249 on 43599  Progress:  3250 on 43599  Progress:  3251 on 43599  Progress:  3252 on 43599  Progress:  3253 on 43599  Progress:  3254 on 43599  Progress:  3255 on 43599  Progress:  3256 on 43599  Progress:  3257 on 43599  Progress:  3258 on 43599  Progress:  3259 on 43599  Progress:  3260 on 43599  Progress:  3261 on 43599  Progress:  3262 on 43599  Progress:  3263 on 43599  Progress:  3264 on 43599  Progress:  3265 on 43599  Progress:  3266 on 43599  Progress:  3267 on 43599  Progress:  3268 on 43599  Progress:  3269 on 43599  Progress:  3270 on 43599  Progress:  3271 on 43599  Progress:  3272 on 43599  Progress:  3273 on 43599  Progress:  3274 on 43599  Progress:  3275 on 43599  Progress:  3276 on 43599  Progress:  3277 on 43599  Progress:  3278 on 43599  Progress:  3279 on 43599  Progress:  3280 on 43599  Progress:  3281 on 43599  Progress:  3282 on 43599  Progress:  3283 on 43599  Progress:  3284 on 43599  Progress:  3285 on 43599  Progress:  3286 on 43599  Progress:  3287 on 43599  Progress:  3288 on 43599  Progress:  3289 on 43599  Progress:  3290 on 43599  Progress:  3291 on 43599  Progress:  3292 on 43599  Progress:  3293 on 43599  Progress:  3294 on 43599  Progress:  3295 on 43599  Progress:  3296 on 43599  Progress:  3297 on 43599  Progress:  3298 on 43599  Progress:  3299 on 43599  Progress:  3300 on 43599  Progress:  3301 on 43599  Progress:  3302 on 43599  Progress:  3303 on 43599  Progress:  3304 on 43599  Progress:  3305 on 43599  Progress:  3306 on 43599  Progress:  3307 on 43599  Progress:  3308 on 43599  Progress:  3309 on 43599  Progress:  3310 on 43599  Progress:  3311 on 43599  Progress:  3312 on 43599  Progress:  3313 on 43599  Progress:  3314 on 43599  Progress:  3315 on 43599  Progress:  3316 on 43599  Progress:  3317 on 43599  Progress:  3318 on 43599  Progress:  3319 on 43599  Progress:  3320 on 43599  Progress:  3321 on 43599  Progress:  3322 on 43599  Progress:  3323 on 43599  Progress:  3324 on 43599  Progress:  3325 on 43599  Progress:  3326 on 43599  Progress:  3327 on 43599  Progress:  3328 on 43599  Progress:  3329 on 43599  Progress:  3330 on 43599  Progress:  3331 on 43599  Progress:  3332 on 43599  Progress:  3333 on 43599  Progress:  3334 on 43599  Progress:  3335 on 43599  Progress:  3336 on 43599  Progress:  3337 on 43599  Progress:  3338 on 43599  Progress:  3339 on 43599  Progress:  3340 on 43599  Progress:  3341 on 43599  Progress:  3342 on 43599  Progress:  3343 on 43599  Progress:  3344 on 43599  Progress:  3345 on 43599  Progress:  3346 on 43599  Progress:  3347 on 43599  Progress:  3348 on 43599  Progress:  3349 on 43599  Progress:  3350 on 43599  Progress:  3351 on 43599  Progress:  3352 on 43599  Progress:  3353 on 43599  Progress:  3354 on 43599  Progress:  3355 on 43599  Progress:  3356 on 43599  Progress:  3357 on 43599  Progress:  3358 on 43599  Progress:  3359 on 43599  Progress:  3360 on 43599  Progress:  3361 on 43599  Progress:  3362 on 43599  Progress:  3363 on 43599  Progress:  3364 on 43599  Progress:  3365 on 43599  Progress:  3366 on 43599  Progress:  3367 on 43599  Progress:  3368 on 43599  Progress:  3369 on 43599  Progress:  3370 on 43599  Progress:  3371 on 43599  Progress:  3372 on 43599  Progress:  3373 on 43599  Progress:  3374 on 43599  Progress:  3375 on 43599  Progress:  3376 on 43599  Progress:  3377 on 43599  Progress:  3378 on 43599  Progress:  3379 on 43599  Progress:  3380 on 43599  Progress:  3381 on 43599  Progress:  3382 on 43599  Progress:  3383 on 43599  Progress:  3384 on 43599  Progress:  3385 on 43599  Progress:  3386 on 43599  Progress:  3387 on 43599  Progress:  3388 on 43599  Progress:  3389 on 43599  Progress:  3390 on 43599  Progress:  3391 on 43599  Progress:  3392 on 43599  Progress:  3393 on 43599  Progress:  3394 on 43599  Progress:  3395 on 43599  Progress:  3396 on 43599  Progress:  3397 on 43599  Progress:  3398 on 43599  Progress:  3399 on 43599  Progress:  3400 on 43599  Progress:  3401 on 43599  Progress:  3402 on 43599  Progress:  3403 on 43599  Progress:  3404 on 43599  Progress:  3405 on 43599  Progress:  3406 on 43599  Progress:  3407 on 43599  Progress:  3408 on 43599  Progress:  3409 on 43599  Progress:  3410 on 43599  Progress:  3411 on 43599  Progress:  3412 on 43599  Progress:  3413 on 43599  Progress:  3414 on 43599  Progress:  3415 on 43599  Progress:  3416 on 43599  Progress:  3417 on 43599  Progress:  3418 on 43599  Progress:  3419 on 43599  Progress:  3420 on 43599  Progress:  3421 on 43599  Progress:  3422 on 43599  Progress:  3423 on 43599  Progress:  3424 on 43599  Progress:  3425 on 43599  Progress:  3426 on 43599  Progress:  3427 on 43599  Progress:  3428 on 43599  Progress:  3429 on 43599  Progress:  3430 on 43599  Progress:  3431 on 43599  Progress:  3432 on 43599  Progress:  3433 on 43599  Progress:  3434 on 43599  Progress:  3435 on 43599  Progress:  3436 on 43599  Progress:  3437 on 43599  Progress:  3438 on 43599  Progress:  3439 on 43599  Progress:  3440 on 43599  Progress:  3441 on 43599  Progress:  3442 on 43599  Progress:  3443 on 43599  Progress:  3444 on 43599  Progress:  3445 on 43599  Progress:  3446 on 43599  Progress:  3447 on 43599  Progress:  3448 on 43599  Progress:  3449 on 43599  Progress:  3450 on 43599  Progress:  3451 on 43599  Progress:  3452 on 43599  Progress:  3453 on 43599  Progress:  3454 on 43599  Progress:  3455 on 43599  Progress:  3456 on 43599  Progress:  3457 on 43599  Progress:  3458 on 43599  Progress:  3459 on 43599  Progress:  3460 on 43599  Progress:  3461 on 43599  Progress:  3462 on 43599  Progress:  3463 on 43599  Progress:  3464 on 43599  Progress:  3465 on 43599  Progress:  3466 on 43599  Progress:  3467 on 43599  Progress:  3468 on 43599  Progress:  3469 on 43599  Progress:  3470 on 43599  Progress:  3471 on 43599  Progress:  3472 on 43599  Progress:  3473 on 43599  Progress:  3474 on 43599  Progress:  3475 on 43599  Progress:  3476 on 43599  Progress:  3477 on 43599  Progress:  3478 on 43599  Progress:  3479 on 43599  Progress:  3480 on 43599  Progress:  3481 on 43599  Progress:  3482 on 43599  Progress:  3483 on 43599  Progress:  3484 on 43599  Progress:  3485 on 43599  Progress:  3486 on 43599  Progress:  3487 on 43599  Progress:  3488 on 43599  Progress:  3489 on 43599  Progress:  3490 on 43599  Progress:  3491 on 43599  Progress:  3492 on 43599  Progress:  3493 on 43599  Progress:  3494 on 43599  Progress:  3495 on 43599  Progress:  3496 on 43599  Progress:  3497 on 43599  Progress:  3498 on 43599  Progress:  3499 on 43599  Progress:  3500 on 43599  Progress:  3501 on 43599  Progress:  3502 on 43599  Progress:  3503 on 43599  Progress:  3504 on 43599  Progress:  3505 on 43599  Progress:  3506 on 43599  Progress:  3507 on 43599  Progress:  3508 on 43599  Progress:  3509 on 43599  Progress:  3510 on 43599  Progress:  3511 on 43599  Progress:  3512 on 43599  Progress:  3513 on 43599  Progress:  3514 on 43599  Progress:  3515 on 43599  Progress:  3516 on 43599  Progress:  3517 on 43599  Progress:  3518 on 43599  Progress:  3519 on 43599  Progress:  3520 on 43599  Progress:  3521 on 43599  Progress:  3522 on 43599  Progress:  3523 on 43599  Progress:  3524 on 43599  Progress:  3525 on 43599  Progress:  3526 on 43599  Progress:  3527 on 43599  Progress:  3528 on 43599  Progress:  3529 on 43599  Progress:  3530 on 43599  Progress:  3531 on 43599  Progress:  3532 on 43599  Progress:  3533 on 43599  Progress:  3534 on 43599  Progress:  3535 on 43599  Progress:  3536 on 43599  Progress:  3537 on 43599  Progress:  3538 on 43599  Progress:  3539 on 43599  Progress:  3540 on 43599  Progress:  3541 on 43599  Progress:  3542 on 43599  Progress:  3543 on 43599  Progress:  3544 on 43599  Progress:  3545 on 43599  Progress:  3546 on 43599  Progress:  3547 on 43599  Progress:  3548 on 43599  Progress:  3549 on 43599  Progress:  3550 on 43599  Progress:  3551 on 43599  Progress:  3552 on 43599  Progress:  3553 on 43599  Progress:  3554 on 43599  Progress:  3555 on 43599  Progress:  3556 on 43599  Progress:  3557 on 43599  Progress:  3558 on 43599  Progress:  3559 on 43599  Progress:  3560 on 43599  Progress:  3561 on 43599  Progress:  3562 on 43599  Progress:  3563 on 43599  Progress:  3564 on 43599  Progress:  3565 on 43599  Progress:  3566 on 43599  Progress:  3567 on 43599  Progress:  3568 on 43599  Progress:  3569 on 43599  Progress:  3570 on 43599  Progress:  3571 on 43599  Progress:  3572 on 43599  Progress:  3573 on 43599  Progress:  3574 on 43599  Progress:  3575 on 43599  Progress:  3576 on 43599  Progress:  3577 on 43599  Progress:  3578 on 43599  Progress:  3579 on 43599  Progress:  3580 on 43599  Progress:  3581 on 43599  Progress:  3582 on 43599  Progress:  3583 on 43599  Progress:  3584 on 43599  Progress:  3585 on 43599  Progress:  3586 on 43599  Progress:  3587 on 43599  Progress:  3588 on 43599  Progress:  3589 on 43599  Progress:  3590 on 43599  Progress:  3591 on 43599  Progress:  3592 on 43599  Progress:  3593 on 43599  Progress:  3594 on 43599  Progress:  3595 on 43599  Progress:  3596 on 43599  Progress:  3597 on 43599  Progress:  3598 on 43599  Progress:  3599 on 43599  Progress:  3600 on 43599  Progress:  3601 on 43599  Progress:  3602 on 43599  Progress:  3603 on 43599  Progress:  3604 on 43599  Progress:  3605 on 43599  Progress:  3606 on 43599  Progress:  3607 on 43599  Progress:  3608 on 43599  Progress:  3609 on 43599  Progress:  3610 on 43599  Progress:  3611 on 43599  Progress:  3612 on 43599  Progress:  3613 on 43599  Progress:  3614 on 43599  Progress:  3615 on 43599  Progress:  3616 on 43599  Progress:  3617 on 43599  Progress:  3618 on 43599  Progress:  3619 on 43599  Progress:  3620 on 43599  Progress:  3621 on 43599  Progress:  3622 on 43599  Progress:  3623 on 43599  Progress:  3624 on 43599  Progress:  3625 on 43599  Progress:  3626 on 43599  Progress:  3627 on 43599  Progress:  3628 on 43599  Progress:  3629 on 43599  Progress:  3630 on 43599  Progress:  3631 on 43599  Progress:  3632 on 43599  Progress:  3633 on 43599  Progress:  3634 on 43599  Progress:  3635 on 43599  Progress:  3636 on 43599  Progress:  3637 on 43599  Progress:  3638 on 43599  Progress:  3639 on 43599  Progress:  3640 on 43599  Progress:  3641 on 43599  Progress:  3642 on 43599  Progress:  3643 on 43599  Progress:  3644 on 43599  Progress:  3645 on 43599  Progress:  3646 on 43599  Progress:  3647 on 43599  Progress:  3648 on 43599  Progress:  3649 on 43599  Progress:  3650 on 43599  Progress:  3651 on 43599  Progress:  3652 on 43599  Progress:  3653 on 43599  Progress:  3654 on 43599  Progress:  3655 on 43599  Progress:  3656 on 43599  Progress:  3657 on 43599  Progress:  3658 on 43599  Progress:  3659 on 43599  Progress:  3660 on 43599  Progress:  3661 on 43599  Progress:  3662 on 43599  Progress:  3663 on 43599  Progress:  3664 on 43599  Progress:  3665 on 43599  Progress:  3666 on 43599  Progress:  3667 on 43599  Progress:  3668 on 43599  Progress:  3669 on 43599  Progress:  3670 on 43599  Progress:  3671 on 43599  Progress:  3672 on 43599  Progress:  3673 on 43599  Progress:  3674 on 43599  Progress:  3675 on 43599  Progress:  3676 on 43599  Progress:  3677 on 43599  Progress:  3678 on 43599  Progress:  3679 on 43599  Progress:  3680 on 43599  Progress:  3681 on 43599  Progress:  3682 on 43599  Progress:  3683 on 43599  Progress:  3684 on 43599  Progress:  3685 on 43599  Progress:  3686 on 43599  Progress:  3687 on 43599  Progress:  3688 on 43599  Progress:  3689 on 43599  Progress:  3690 on 43599  Progress:  3691 on 43599  Progress:  3692 on 43599  Progress:  3693 on 43599  Progress:  3694 on 43599  Progress:  3695 on 43599  Progress:  3696 on 43599  Progress:  3697 on 43599  Progress:  3698 on 43599  Progress:  3699 on 43599  Progress:  3700 on 43599  Progress:  3701 on 43599  Progress:  3702 on 43599  Progress:  3703 on 43599  Progress:  3704 on 43599  Progress:  3705 on 43599  Progress:  3706 on 43599  Progress:  3707 on 43599  Progress:  3708 on 43599  Progress:  3709 on 43599  Progress:  3710 on 43599  Progress:  3711 on 43599  Progress:  3712 on 43599  Progress:  3713 on 43599  Progress:  3714 on 43599  Progress:  3715 on 43599  Progress:  3716 on 43599  Progress:  3717 on 43599  Progress:  3718 on 43599  Progress:  3719 on 43599  Progress:  3720 on 43599  Progress:  3721 on 43599  Progress:  3722 on 43599  Progress:  3723 on 43599  Progress:  3724 on 43599  Progress:  3725 on 43599  Progress:  3726 on 43599  Progress:  3727 on 43599  Progress:  3728 on 43599  Progress:  3729 on 43599  Progress:  3730 on 43599  Progress:  3731 on 43599  Progress:  3732 on 43599  Progress:  3733 on 43599  Progress:  3734 on 43599  Progress:  3735 on 43599  Progress:  3736 on 43599  Progress:  3737 on 43599  Progress:  3738 on 43599  Progress:  3739 on 43599  Progress:  3740 on 43599  Progress:  3741 on 43599  Progress:  3742 on 43599  Progress:  3743 on 43599  Progress:  3744 on 43599  Progress:  3745 on 43599  Progress:  3746 on 43599  Progress:  3747 on 43599  Progress:  3748 on 43599  Progress:  3749 on 43599  Progress:  3750 on 43599  Progress:  3751 on 43599  Progress:  3752 on 43599  Progress:  3753 on 43599  Progress:  3754 on 43599  Progress:  3755 on 43599  Progress:  3756 on 43599  Progress:  3757 on 43599  Progress:  3758 on 43599  Progress:  3759 on 43599  Progress:  3760 on 43599  Progress:  3761 on 43599  Progress:  3762 on 43599  Progress:  3763 on 43599  Progress:  3764 on 43599  Progress:  3765 on 43599  Progress:  3766 on 43599  Progress:  3767 on 43599  Progress:  3768 on 43599  Progress:  3769 on 43599  Progress:  3770 on 43599  Progress:  3771 on 43599  Progress:  3772 on 43599  Progress:  3773 on 43599  Progress:  3774 on 43599  Progress:  3775 on 43599  Progress:  3776 on 43599  Progress:  3777 on 43599  Progress:  3778 on 43599  Progress:  3779 on 43599  Progress:  3780 on 43599  Progress:  3781 on 43599  Progress:  3782 on 43599  Progress:  3783 on 43599  Progress:  3784 on 43599  Progress:  3785 on 43599  Progress:  3786 on 43599  Progress:  3787 on 43599  Progress:  3788 on 43599  Progress:  3789 on 43599  Progress:  3790 on 43599  Progress:  3791 on 43599  Progress:  3792 on 43599  Progress:  3793 on 43599  Progress:  3794 on 43599  Progress:  3795 on 43599  Progress:  3796 on 43599  Progress:  3797 on 43599  Progress:  3798 on 43599  Progress:  3799 on 43599  Progress:  3800 on 43599  Progress:  3801 on 43599  Progress:  3802 on 43599  Progress:  3803 on 43599  Progress:  3804 on 43599  Progress:  3805 on 43599  Progress:  3806 on 43599  Progress:  3807 on 43599  Progress:  3808 on 43599  Progress:  3809 on 43599  Progress:  3810 on 43599  Progress:  3811 on 43599  Progress:  3812 on 43599  Progress:  3813 on 43599  Progress:  3814 on 43599  Progress:  3815 on 43599  Progress:  3816 on 43599  Progress:  3817 on 43599  Progress:  3818 on 43599  Progress:  3819 on 43599  Progress:  3820 on 43599  Progress:  3821 on 43599  Progress:  3822 on 43599  Progress:  3823 on 43599  Progress:  3824 on 43599  Progress:  3825 on 43599  Progress:  3826 on 43599  Progress:  3827 on 43599  Progress:  3828 on 43599  Progress:  3829 on 43599  Progress:  3830 on 43599  Progress:  3831 on 43599  Progress:  3832 on 43599  Progress:  3833 on 43599  Progress:  3834 on 43599  Progress:  3835 on 43599  Progress:  3836 on 43599  Progress:  3837 on 43599  Progress:  3838 on 43599  Progress:  3839 on 43599  Progress:  3840 on 43599  Progress:  3841 on 43599  Progress:  3842 on 43599  Progress:  3843 on 43599  Progress:  3844 on 43599  Progress:  3845 on 43599  Progress:  3846 on 43599  Progress:  3847 on 43599  Progress:  3848 on 43599  Progress:  3849 on 43599  Progress:  3850 on 43599  Progress:  3851 on 43599  Progress:  3852 on 43599  Progress:  3853 on 43599  Progress:  3854 on 43599  Progress:  3855 on 43599  Progress:  3856 on 43599  Progress:  3857 on 43599  Progress:  3858 on 43599  Progress:  3859 on 43599  Progress:  3860 on 43599  Progress:  3861 on 43599  Progress:  3862 on 43599  Progress:  3863 on 43599  Progress:  3864 on 43599  Progress:  3865 on 43599  Progress:  3866 on 43599  Progress:  3867 on 43599  Progress:  3868 on 43599  Progress:  3869 on 43599  Progress:  3870 on 43599  Progress:  3871 on 43599  Progress:  3872 on 43599  Progress:  3873 on 43599  Progress:  3874 on 43599  Progress:  3875 on 43599  Progress:  3876 on 43599  Progress:  3877 on 43599  Progress:  3878 on 43599  Progress:  3879 on 43599  Progress:  3880 on 43599  Progress:  3881 on 43599  Progress:  3882 on 43599  Progress:  3883 on 43599  Progress:  3884 on 43599  Progress:  3885 on 43599  Progress:  3886 on 43599  Progress:  3887 on 43599  Progress:  3888 on 43599  Progress:  3889 on 43599  Progress:  3890 on 43599  Progress:  3891 on 43599  Progress:  3892 on 43599  Progress:  3893 on 43599  Progress:  3894 on 43599  Progress:  3895 on 43599  Progress:  3896 on 43599  Progress:  3897 on 43599  Progress:  3898 on 43599  Progress:  3899 on 43599  Progress:  3900 on 43599  Progress:  3901 on 43599  Progress:  3902 on 43599  Progress:  3903 on 43599  Progress:  3904 on 43599  Progress:  3905 on 43599  Progress:  3906 on 43599  Progress:  3907 on 43599  Progress:  3908 on 43599  Progress:  3909 on 43599  Progress:  3910 on 43599  Progress:  3911 on 43599  Progress:  3912 on 43599  Progress:  3913 on 43599  Progress:  3914 on 43599  Progress:  3915 on 43599  Progress:  3916 on 43599  Progress:  3917 on 43599  Progress:  3918 on 43599  Progress:  3919 on 43599  Progress:  3920 on 43599  Progress:  3921 on 43599  Progress:  3922 on 43599  Progress:  3923 on 43599  Progress:  3924 on 43599  Progress:  3925 on 43599  Progress:  3926 on 43599  Progress:  3927 on 43599  Progress:  3928 on 43599  Progress:  3929 on 43599  Progress:  3930 on 43599  Progress:  3931 on 43599  Progress:  3932 on 43599  Progress:  3933 on 43599  Progress:  3934 on 43599  Progress:  3935 on 43599  Progress:  3936 on 43599  Progress:  3937 on 43599  Progress:  3938 on 43599  Progress:  3939 on 43599  Progress:  3940 on 43599  Progress:  3941 on 43599  Progress:  3942 on 43599  Progress:  3943 on 43599  Progress:  3944 on 43599  Progress:  3945 on 43599  Progress:  3946 on 43599  Progress:  3947 on 43599  Progress:  3948 on 43599  Progress:  3949 on 43599  Progress:  3950 on 43599  Progress:  3951 on 43599  Progress:  3952 on 43599  Progress:  3953 on 43599  Progress:  3954 on 43599  Progress:  3955 on 43599  Progress:  3956 on 43599  Progress:  3957 on 43599  Progress:  3958 on 43599  Progress:  3959 on 43599  Progress:  3960 on 43599  Progress:  3961 on 43599  Progress:  3962 on 43599  Progress:  3963 on 43599  Progress:  3964 on 43599  Progress:  3965 on 43599  Progress:  3966 on 43599  Progress:  3967 on 43599  Progress:  3968 on 43599  Progress:  3969 on 43599  Progress:  3970 on 43599  Progress:  3971 on 43599  Progress:  3972 on 43599  Progress:  3973 on 43599  Progress:  3974 on 43599  Progress:  3975 on 43599  Progress:  3976 on 43599  Progress:  3977 on 43599  Progress:  3978 on 43599  Progress:  3979 on 43599  Progress:  3980 on 43599  Progress:  3981 on 43599  Progress:  3982 on 43599  Progress:  3983 on 43599  Progress:  3984 on 43599  Progress:  3985 on 43599  Progress:  3986 on 43599  Progress:  3987 on 43599  Progress:  3988 on 43599  Progress:  3989 on 43599  Progress:  3990 on 43599  Progress:  3991 on 43599  Progress:  3992 on 43599  Progress:  3993 on 43599  Progress:  3994 on 43599  Progress:  3995 on 43599  Progress:  3996 on 43599  Progress:  3997 on 43599  Progress:  3998 on 43599  Progress:  3999 on 43599  Progress:  4000 on 43599  Progress:  4001 on 43599  Progress:  4002 on 43599  Progress:  4003 on 43599  Progress:  4004 on 43599  Progress:  4005 on 43599  Progress:  4006 on 43599  Progress:  4007 on 43599  Progress:  4008 on 43599  Progress:  4009 on 43599  Progress:  4010 on 43599  Progress:  4011 on 43599  Progress:  4012 on 43599  Progress:  4013 on 43599  Progress:  4014 on 43599  Progress:  4015 on 43599  Progress:  4016 on 43599  Progress:  4017 on 43599  Progress:  4018 on 43599  Progress:  4019 on 43599  Progress:  4020 on 43599  Progress:  4021 on 43599  Progress:  4022 on 43599  Progress:  4023 on 43599  Progress:  4024 on 43599  Progress:  4025 on 43599  Progress:  4026 on 43599  Progress:  4027 on 43599  Progress:  4028 on 43599  Progress:  4029 on 43599  Progress:  4030 on 43599  Progress:  4031 on 43599  Progress:  4032 on 43599  Progress:  4033 on 43599  Progress:  4034 on 43599  Progress:  4035 on 43599  Progress:  4036 on 43599  Progress:  4037 on 43599  Progress:  4038 on 43599  Progress:  4039 on 43599  Progress:  4040 on 43599  Progress:  4041 on 43599  Progress:  4042 on 43599  Progress:  4043 on 43599  Progress:  4044 on 43599  Progress:  4045 on 43599  Progress:  4046 on 43599  Progress:  4047 on 43599  Progress:  4048 on 43599  Progress:  4049 on 43599  Progress:  4050 on 43599  Progress:  4051 on 43599  Progress:  4052 on 43599  Progress:  4053 on 43599  Progress:  4054 on 43599  Progress:  4055 on 43599  Progress:  4056 on 43599  Progress:  4057 on 43599  Progress:  4058 on 43599  Progress:  4059 on 43599  Progress:  4060 on 43599  Progress:  4061 on 43599  Progress:  4062 on 43599  Progress:  4063 on 43599  Progress:  4064 on 43599  Progress:  4065 on 43599  Progress:  4066 on 43599  Progress:  4067 on 43599  Progress:  4068 on 43599  Progress:  4069 on 43599  Progress:  4070 on 43599  Progress:  4071 on 43599  Progress:  4072 on 43599  Progress:  4073 on 43599  Progress:  4074 on 43599  Progress:  4075 on 43599  Progress:  4076 on 43599  Progress:  4077 on 43599  Progress:  4078 on 43599  Progress:  4079 on 43599  Progress:  4080 on 43599  Progress:  4081 on 43599  Progress:  4082 on 43599  Progress:  4083 on 43599  Progress:  4084 on 43599  Progress:  4085 on 43599  Progress:  4086 on 43599  Progress:  4087 on 43599  Progress:  4088 on 43599  Progress:  4089 on 43599  Progress:  4090 on 43599  Progress:  4091 on 43599  Progress:  4092 on 43599  Progress:  4093 on 43599  Progress:  4094 on 43599  Progress:  4095 on 43599  Progress:  4096 on 43599  Progress:  4097 on 43599  Progress:  4098 on 43599  Progress:  4099 on 43599  Progress:  4100 on 43599  Progress:  4101 on 43599  Progress:  4102 on 43599  Progress:  4103 on 43599  Progress:  4104 on 43599  Progress:  4105 on 43599  Progress:  4106 on 43599  Progress:  4107 on 43599  Progress:  4108 on 43599  Progress:  4109 on 43599  Progress:  4110 on 43599  Progress:  4111 on 43599  Progress:  4112 on 43599  Progress:  4113 on 43599  Progress:  4114 on 43599  Progress:  4115 on 43599  Progress:  4116 on 43599  Progress:  4117 on 43599  Progress:  4118 on 43599  Progress:  4119 on 43599  Progress:  4120 on 43599  Progress:  4121 on 43599  Progress:  4122 on 43599  Progress:  4123 on 43599  Progress:  4124 on 43599  Progress:  4125 on 43599  Progress:  4126 on 43599  Progress:  4127 on 43599  Progress:  4128 on 43599  Progress:  4129 on 43599  Progress:  4130 on 43599  Progress:  4131 on 43599  Progress:  4132 on 43599  Progress:  4133 on 43599  Progress:  4134 on 43599  Progress:  4135 on 43599  Progress:  4136 on 43599  Progress:  4137 on 43599  Progress:  4138 on 43599  Progress:  4139 on 43599  Progress:  4140 on 43599  Progress:  4141 on 43599  Progress:  4142 on 43599  Progress:  4143 on 43599  Progress:  4144 on 43599  Progress:  4145 on 43599  Progress:  4146 on 43599  Progress:  4147 on 43599  Progress:  4148 on 43599  Progress:  4149 on 43599  Progress:  4150 on 43599  Progress:  4151 on 43599  Progress:  4152 on 43599  Progress:  4153 on 43599  Progress:  4154 on 43599  Progress:  4155 on 43599  Progress:  4156 on 43599  Progress:  4157 on 43599  Progress:  4158 on 43599  Progress:  4159 on 43599  Progress:  4160 on 43599  Progress:  4161 on 43599  Progress:  4162 on 43599  Progress:  4163 on 43599  Progress:  4164 on 43599  Progress:  4165 on 43599  Progress:  4166 on 43599  Progress:  4167 on 43599  Progress:  4168 on 43599  Progress:  4169 on 43599  Progress:  4170 on 43599  Progress:  4171 on 43599  Progress:  4172 on 43599  Progress:  4173 on 43599  Progress:  4174 on 43599  Progress:  4175 on 43599  Progress:  4176 on 43599  Progress:  4177 on 43599  Progress:  4178 on 43599  Progress:  4179 on 43599  Progress:  4180 on 43599  Progress:  4181 on 43599  Progress:  4182 on 43599  Progress:  4183 on 43599  Progress:  4184 on 43599  Progress:  4185 on 43599  Progress:  4186 on 43599  Progress:  4187 on 43599  Progress:  4188 on 43599  Progress:  4189 on 43599  Progress:  4190 on 43599  Progress:  4191 on 43599  Progress:  4192 on 43599  Progress:  4193 on 43599  Progress:  4194 on 43599  Progress:  4195 on 43599  Progress:  4196 on 43599  Progress:  4197 on 43599  Progress:  4198 on 43599  Progress:  4199 on 43599  Progress:  4200 on 43599  Progress:  4201 on 43599  Progress:  4202 on 43599  Progress:  4203 on 43599  Progress:  4204 on 43599  Progress:  4205 on 43599  Progress:  4206 on 43599  Progress:  4207 on 43599  Progress:  4208 on 43599  Progress:  4209 on 43599  Progress:  4210 on 43599  Progress:  4211 on 43599  Progress:  4212 on 43599  Progress:  4213 on 43599  Progress:  4214 on 43599  Progress:  4215 on 43599  Progress:  4216 on 43599  Progress:  4217 on 43599  Progress:  4218 on 43599  Progress:  4219 on 43599  Progress:  4220 on 43599  Progress:  4221 on 43599  Progress:  4222 on 43599  Progress:  4223 on 43599  Progress:  4224 on 43599  Progress:  4225 on 43599  Progress:  4226 on 43599  Progress:  4227 on 43599  Progress:  4228 on 43599  Progress:  4229 on 43599  Progress:  4230 on 43599  Progress:  4231 on 43599  Progress:  4232 on 43599  Progress:  4233 on 43599  Progress:  4234 on 43599  Progress:  4235 on 43599  Progress:  4236 on 43599  Progress:  4237 on 43599  Progress:  4238 on 43599  Progress:  4239 on 43599  Progress:  4240 on 43599  Progress:  4241 on 43599  Progress:  4242 on 43599  Progress:  4243 on 43599  Progress:  4244 on 43599  Progress:  4245 on 43599  Progress:  4246 on 43599  Progress:  4247 on 43599  Progress:  4248 on 43599  Progress:  4249 on 43599  Progress:  4250 on 43599  Progress:  4251 on 43599  Progress:  4252 on 43599  Progress:  4253 on 43599  Progress:  4254 on 43599  Progress:  4255 on 43599  Progress:  4256 on 43599  Progress:  4257 on 43599  Progress:  4258 on 43599  Progress:  4259 on 43599  Progress:  4260 on 43599  Progress:  4261 on 43599  Progress:  4262 on 43599  Progress:  4263 on 43599  Progress:  4264 on 43599  Progress:  4265 on 43599  Progress:  4266 on 43599  Progress:  4267 on 43599  Progress:  4268 on 43599  Progress:  4269 on 43599  Progress:  4270 on 43599  Progress:  4271 on 43599  Progress:  4272 on 43599  Progress:  4273 on 43599  Progress:  4274 on 43599  Progress:  4275 on 43599  Progress:  4276 on 43599  Progress:  4277 on 43599  Progress:  4278 on 43599  Progress:  4279 on 43599  Progress:  4280 on 43599  Progress:  4281 on 43599  Progress:  4282 on 43599  Progress:  4283 on 43599  Progress:  4284 on 43599  Progress:  4285 on 43599  Progress:  4286 on 43599  Progress:  4287 on 43599  Progress:  4288 on 43599  Progress:  4289 on 43599  Progress:  4290 on 43599  Progress:  4291 on 43599  Progress:  4292 on 43599  Progress:  4293 on 43599  Progress:  4294 on 43599  Progress:  4295 on 43599  Progress:  4296 on 43599  Progress:  4297 on 43599  Progress:  4298 on 43599  Progress:  4299 on 43599  Progress:  4300 on 43599  Progress:  4301 on 43599  Progress:  4302 on 43599  Progress:  4303 on 43599  Progress:  4304 on 43599  Progress:  4305 on 43599  Progress:  4306 on 43599  Progress:  4307 on 43599  Progress:  4308 on 43599  Progress:  4309 on 43599  Progress:  4310 on 43599  Progress:  4311 on 43599  Progress:  4312 on 43599  Progress:  4313 on 43599  Progress:  4314 on 43599  Progress:  4315 on 43599  Progress:  4316 on 43599  Progress:  4317 on 43599  Progress:  4318 on 43599  Progress:  4319 on 43599  Progress:  4320 on 43599  Progress:  4321 on 43599  Progress:  4322 on 43599  Progress:  4323 on 43599  Progress:  4324 on 43599  Progress:  4325 on 43599  Progress:  4326 on 43599  Progress:  4327 on 43599  Progress:  4328 on 43599  Progress:  4329 on 43599  Progress:  4330 on 43599  Progress:  4331 on 43599  Progress:  4332 on 43599  Progress:  4333 on 43599  Progress:  4334 on 43599  Progress:  4335 on 43599  Progress:  4336 on 43599  Progress:  4337 on 43599  Progress:  4338 on 43599  Progress:  4339 on 43599  Progress:  4340 on 43599  Progress:  4341 on 43599  Progress:  4342 on 43599  Progress:  4343 on 43599  Progress:  4344 on 43599  Progress:  4345 on 43599  Progress:  4346 on 43599  Progress:  4347 on 43599  Progress:  4348 on 43599  Progress:  4349 on 43599  Progress:  4350 on 43599  Progress:  4351 on 43599  Progress:  4352 on 43599  Progress:  4353 on 43599  Progress:  4354 on 43599  Progress:  4355 on 43599  Progress:  4356 on 43599  Progress:  4357 on 43599  Progress:  4358 on 43599  Progress:  4359 on 43599  Progress:  4360 on 43599  Progress:  4361 on 43599  Progress:  4362 on 43599  Progress:  4363 on 43599  Progress:  4364 on 43599  Progress:  4365 on 43599  Progress:  4366 on 43599  Progress:  4367 on 43599  Progress:  4368 on 43599  Progress:  4369 on 43599  Progress:  4370 on 43599  Progress:  4371 on 43599  Progress:  4372 on 43599  Progress:  4373 on 43599  Progress:  4374 on 43599  Progress:  4375 on 43599  Progress:  4376 on 43599  Progress:  4377 on 43599  Progress:  4378 on 43599  Progress:  4379 on 43599  Progress:  4380 on 43599  Progress:  4381 on 43599  Progress:  4382 on 43599  Progress:  4383 on 43599  Progress:  4384 on 43599  Progress:  4385 on 43599  Progress:  4386 on 43599  Progress:  4387 on 43599  Progress:  4388 on 43599  Progress:  4389 on 43599  Progress:  4390 on 43599  Progress:  4391 on 43599  Progress:  4392 on 43599  Progress:  4393 on 43599  Progress:  4394 on 43599  Progress:  4395 on 43599  Progress:  4396 on 43599  Progress:  4397 on 43599  Progress:  4398 on 43599  Progress:  4399 on 43599  Progress:  4400 on 43599  Progress:  4401 on 43599  Progress:  4402 on 43599  Progress:  4403 on 43599  Progress:  4404 on 43599  Progress:  4405 on 43599  Progress:  4406 on 43599  Progress:  4407 on 43599  Progress:  4408 on 43599  Progress:  4409 on 43599  Progress:  4410 on 43599  Progress:  4411 on 43599  Progress:  4412 on 43599  Progress:  4413 on 43599  Progress:  4414 on 43599  Progress:  4415 on 43599  Progress:  4416 on 43599  Progress:  4417 on 43599  Progress:  4418 on 43599  Progress:  4419 on 43599  Progress:  4420 on 43599  Progress:  4421 on 43599  Progress:  4422 on 43599  Progress:  4423 on 43599  Progress:  4424 on 43599  Progress:  4425 on 43599  Progress:  4426 on 43599  Progress:  4427 on 43599  Progress:  4428 on 43599  Progress:  4429 on 43599  Progress:  4430 on 43599  Progress:  4431 on 43599  Progress:  4432 on 43599  Progress:  4433 on 43599  Progress:  4434 on 43599  Progress:  4435 on 43599  Progress:  4436 on 43599  Progress:  4437 on 43599  Progress:  4438 on 43599  Progress:  4439 on 43599  Progress:  4440 on 43599  Progress:  4441 on 43599  Progress:  4442 on 43599  Progress:  4443 on 43599  Progress:  4444 on 43599  Progress:  4445 on 43599  Progress:  4446 on 43599  Progress:  4447 on 43599  Progress:  4448 on 43599  Progress:  4449 on 43599  Progress:  4450 on 43599  Progress:  4451 on 43599  Progress:  4452 on 43599  Progress:  4453 on 43599  Progress:  4454 on 43599  Progress:  4455 on 43599  Progress:  4456 on 43599  Progress:  4457 on 43599  Progress:  4458 on 43599  Progress:  4459 on 43599  Progress:  4460 on 43599  Progress:  4461 on 43599  Progress:  4462 on 43599  Progress:  4463 on 43599  Progress:  4464 on 43599  Progress:  4465 on 43599  Progress:  4466 on 43599  Progress:  4467 on 43599  Progress:  4468 on 43599  Progress:  4469 on 43599  Progress:  4470 on 43599  Progress:  4471 on 43599  Progress:  4472 on 43599  Progress:  4473 on 43599  Progress:  4474 on 43599  Progress:  4475 on 43599  Progress:  4476 on 43599  Progress:  4477 on 43599  Progress:  4478 on 43599  Progress:  4479 on 43599  Progress:  4480 on 43599  Progress:  4481 on 43599  Progress:  4482 on 43599  Progress:  4483 on 43599  Progress:  4484 on 43599  Progress:  4485 on 43599  Progress:  4486 on 43599  Progress:  4487 on 43599  Progress:  4488 on 43599  Progress:  4489 on 43599  Progress:  4490 on 43599  Progress:  4491 on 43599  Progress:  4492 on 43599  Progress:  4493 on 43599  Progress:  4494 on 43599  Progress:  4495 on 43599  Progress:  4496 on 43599  Progress:  4497 on 43599  Progress:  4498 on 43599  Progress:  4499 on 43599  Progress:  4500 on 43599  Progress:  4501 on 43599  Progress:  4502 on 43599  Progress:  4503 on 43599  Progress:  4504 on 43599  Progress:  4505 on 43599  Progress:  4506 on 43599  Progress:  4507 on 43599  Progress:  4508 on 43599  Progress:  4509 on 43599  Progress:  4510 on 43599  Progress:  4511 on 43599  Progress:  4512 on 43599  Progress:  4513 on 43599  Progress:  4514 on 43599  Progress:  4515 on 43599  Progress:  4516 on 43599  Progress:  4517 on 43599  Progress:  4518 on 43599  Progress:  4519 on 43599  Progress:  4520 on 43599  Progress:  4521 on 43599  Progress:  4522 on 43599  Progress:  4523 on 43599  Progress:  4524 on 43599  Progress:  4525 on 43599  Progress:  4526 on 43599  Progress:  4527 on 43599  Progress:  4528 on 43599  Progress:  4529 on 43599  Progress:  4530 on 43599  Progress:  4531 on 43599  Progress:  4532 on 43599  Progress:  4533 on 43599  Progress:  4534 on 43599  Progress:  4535 on 43599  Progress:  4536 on 43599  Progress:  4537 on 43599  Progress:  4538 on 43599  Progress:  4539 on 43599  Progress:  4540 on 43599  Progress:  4541 on 43599  Progress:  4542 on 43599  Progress:  4543 on 43599  Progress:  4544 on 43599  Progress:  4545 on 43599  Progress:  4546 on 43599  Progress:  4547 on 43599  Progress:  4548 on 43599  Progress:  4549 on 43599  Progress:  4550 on 43599  Progress:  4551 on 43599  Progress:  4552 on 43599  Progress:  4553 on 43599  Progress:  4554 on 43599  Progress:  4555 on 43599  Progress:  4556 on 43599  Progress:  4557 on 43599  Progress:  4558 on 43599  Progress:  4559 on 43599  Progress:  4560 on 43599  Progress:  4561 on 43599  Progress:  4562 on 43599  Progress:  4563 on 43599  Progress:  4564 on 43599  Progress:  4565 on 43599  Progress:  4566 on 43599  Progress:  4567 on 43599  Progress:  4568 on 43599  Progress:  4569 on 43599  Progress:  4570 on 43599  Progress:  4571 on 43599  Progress:  4572 on 43599  Progress:  4573 on 43599  Progress:  4574 on 43599  Progress:  4575 on 43599  Progress:  4576 on 43599  Progress:  4577 on 43599  Progress:  4578 on 43599  Progress:  4579 on 43599  Progress:  4580 on 43599  Progress:  4581 on 43599  Progress:  4582 on 43599  Progress:  4583 on 43599  Progress:  4584 on 43599  Progress:  4585 on 43599  Progress:  4586 on 43599  Progress:  4587 on 43599  Progress:  4588 on 43599  Progress:  4589 on 43599  Progress:  4590 on 43599  Progress:  4591 on 43599  Progress:  4592 on 43599  Progress:  4593 on 43599  Progress:  4594 on 43599  Progress:  4595 on 43599  Progress:  4596 on 43599  Progress:  4597 on 43599  Progress:  4598 on 43599  Progress:  4599 on 43599  Progress:  4600 on 43599  Progress:  4601 on 43599  Progress:  4602 on 43599  Progress:  4603 on 43599  Progress:  4604 on 43599  Progress:  4605 on 43599  Progress:  4606 on 43599  Progress:  4607 on 43599  Progress:  4608 on 43599  Progress:  4609 on 43599  Progress:  4610 on 43599  Progress:  4611 on 43599  Progress:  4612 on 43599  Progress:  4613 on 43599  Progress:  4614 on 43599  Progress:  4615 on 43599  Progress:  4616 on 43599  Progress:  4617 on 43599  Progress:  4618 on 43599  Progress:  4619 on 43599  Progress:  4620 on 43599  Progress:  4621 on 43599  Progress:  4622 on 43599  Progress:  4623 on 43599  Progress:  4624 on 43599  Progress:  4625 on 43599  Progress:  4626 on 43599  Progress:  4627 on 43599  Progress:  4628 on 43599  Progress:  4629 on 43599  Progress:  4630 on 43599  Progress:  4631 on 43599  Progress:  4632 on 43599  Progress:  4633 on 43599  Progress:  4634 on 43599  Progress:  4635 on 43599  Progress:  4636 on 43599  Progress:  4637 on 43599  Progress:  4638 on 43599  Progress:  4639 on 43599  Progress:  4640 on 43599  Progress:  4641 on 43599  Progress:  4642 on 43599  Progress:  4643 on 43599  Progress:  4644 on 43599  Progress:  4645 on 43599  Progress:  4646 on 43599  Progress:  4647 on 43599  Progress:  4648 on 43599  Progress:  4649 on 43599  Progress:  4650 on 43599  Progress:  4651 on 43599  Progress:  4652 on 43599  Progress:  4653 on 43599  Progress:  4654 on 43599  Progress:  4655 on 43599  Progress:  4656 on 43599  Progress:  4657 on 43599  Progress:  4658 on 43599  Progress:  4659 on 43599  Progress:  4660 on 43599  Progress:  4661 on 43599  Progress:  4662 on 43599  Progress:  4663 on 43599  Progress:  4664 on 43599  Progress:  4665 on 43599  Progress:  4666 on 43599  Progress:  4667 on 43599  Progress:  4668 on 43599  Progress:  4669 on 43599  Progress:  4670 on 43599  Progress:  4671 on 43599  Progress:  4672 on 43599  Progress:  4673 on 43599  Progress:  4674 on 43599  Progress:  4675 on 43599  Progress:  4676 on 43599  Progress:  4677 on 43599  Progress:  4678 on 43599  Progress:  4679 on 43599  Progress:  4680 on 43599  Progress:  4681 on 43599  Progress:  4682 on 43599  Progress:  4683 on 43599  Progress:  4684 on 43599  Progress:  4685 on 43599  Progress:  4686 on 43599  Progress:  4687 on 43599  Progress:  4688 on 43599  Progress:  4689 on 43599  Progress:  4690 on 43599  Progress:  4691 on 43599  Progress:  4692 on 43599  Progress:  4693 on 43599  Progress:  4694 on 43599  Progress:  4695 on 43599  Progress:  4696 on 43599  Progress:  4697 on 43599  Progress:  4698 on 43599  Progress:  4699 on 43599  Progress:  4700 on 43599  Progress:  4701 on 43599  Progress:  4702 on 43599  Progress:  4703 on 43599  Progress:  4704 on 43599  Progress:  4705 on 43599  Progress:  4706 on 43599  Progress:  4707 on 43599  Progress:  4708 on 43599  Progress:  4709 on 43599  Progress:  4710 on 43599  Progress:  4711 on 43599  Progress:  4712 on 43599  Progress:  4713 on 43599  Progress:  4714 on 43599  Progress:  4715 on 43599  Progress:  4716 on 43599  Progress:  4717 on 43599  Progress:  4718 on 43599  Progress:  4719 on 43599  Progress:  4720 on 43599  Progress:  4721 on 43599  Progress:  4722 on 43599  Progress:  4723 on 43599  Progress:  4724 on 43599  Progress:  4725 on 43599  Progress:  4726 on 43599  Progress:  4727 on 43599  Progress:  4728 on 43599  Progress:  4729 on 43599  Progress:  4730 on 43599  Progress:  4731 on 43599  Progress:  4732 on 43599  Progress:  4733 on 43599  Progress:  4734 on 43599  Progress:  4735 on 43599  Progress:  4736 on 43599  Progress:  4737 on 43599  Progress:  4738 on 43599  Progress:  4739 on 43599  Progress:  4740 on 43599  Progress:  4741 on 43599  Progress:  4742 on 43599  Progress:  4743 on 43599  Progress:  4744 on 43599  Progress:  4745 on 43599  Progress:  4746 on 43599  Progress:  4747 on 43599  Progress:  4748 on 43599  Progress:  4749 on 43599  Progress:  4750 on 43599  Progress:  4751 on 43599  Progress:  4752 on 43599  Progress:  4753 on 43599  Progress:  4754 on 43599  Progress:  4755 on 43599  Progress:  4756 on 43599  Progress:  4757 on 43599  Progress:  4758 on 43599  Progress:  4759 on 43599  Progress:  4760 on 43599  Progress:  4761 on 43599  Progress:  4762 on 43599  Progress:  4763 on 43599  Progress:  4764 on 43599  Progress:  4765 on 43599  Progress:  4766 on 43599  Progress:  4767 on 43599  Progress:  4768 on 43599  Progress:  4769 on 43599  Progress:  4770 on 43599  Progress:  4771 on 43599  Progress:  4772 on 43599  Progress:  4773 on 43599  Progress:  4774 on 43599  Progress:  4775 on 43599  Progress:  4776 on 43599  Progress:  4777 on 43599  Progress:  4778 on 43599  Progress:  4779 on 43599  Progress:  4780 on 43599  Progress:  4781 on 43599  Progress:  4782 on 43599  Progress:  4783 on 43599  Progress:  4784 on 43599  Progress:  4785 on 43599  Progress:  4786 on 43599  Progress:  4787 on 43599  Progress:  4788 on 43599  Progress:  4789 on 43599  Progress:  4790 on 43599  Progress:  4791 on 43599  Progress:  4792 on 43599  Progress:  4793 on 43599  Progress:  4794 on 43599  Progress:  4795 on 43599  Progress:  4796 on 43599  Progress:  4797 on 43599  Progress:  4798 on 43599  Progress:  4799 on 43599  Progress:  4800 on 43599  Progress:  4801 on 43599  Progress:  4802 on 43599  Progress:  4803 on 43599  Progress:  4804 on 43599  Progress:  4805 on 43599  Progress:  4806 on 43599  Progress:  4807 on 43599  Progress:  4808 on 43599  Progress:  4809 on 43599  Progress:  4810 on 43599  Progress:  4811 on 43599  Progress:  4812 on 43599  Progress:  4813 on 43599  Progress:  4814 on 43599  Progress:  4815 on 43599  Progress:  4816 on 43599  Progress:  4817 on 43599  Progress:  4818 on 43599  Progress:  4819 on 43599  Progress:  4820 on 43599  Progress:  4821 on 43599  Progress:  4822 on 43599  Progress:  4823 on 43599  Progress:  4824 on 43599  Progress:  4825 on 43599  Progress:  4826 on 43599  Progress:  4827 on 43599  Progress:  4828 on 43599  Progress:  4829 on 43599  Progress:  4830 on 43599  Progress:  4831 on 43599  Progress:  4832 on 43599  Progress:  4833 on 43599  Progress:  4834 on 43599  Progress:  4835 on 43599  Progress:  4836 on 43599  Progress:  4837 on 43599  Progress:  4838 on 43599  Progress:  4839 on 43599  Progress:  4840 on 43599  Progress:  4841 on 43599  Progress:  4842 on 43599  Progress:  4843 on 43599  Progress:  4844 on 43599  Progress:  4845 on 43599  Progress:  4846 on 43599  Progress:  4847 on 43599  Progress:  4848 on 43599  Progress:  4849 on 43599  Progress:  4850 on 43599  Progress:  4851 on 43599  Progress:  4852 on 43599  Progress:  4853 on 43599  Progress:  4854 on 43599  Progress:  4855 on 43599  Progress:  4856 on 43599  Progress:  4857 on 43599  Progress:  4858 on 43599  Progress:  4859 on 43599  Progress:  4860 on 43599  Progress:  4861 on 43599  Progress:  4862 on 43599  Progress:  4863 on 43599  Progress:  4864 on 43599  Progress:  4865 on 43599  Progress:  4866 on 43599  Progress:  4867 on 43599  Progress:  4868 on 43599  Progress:  4869 on 43599  Progress:  4870 on 43599  Progress:  4871 on 43599  Progress:  4872 on 43599  Progress:  4873 on 43599  Progress:  4874 on 43599  Progress:  4875 on 43599  Progress:  4876 on 43599  Progress:  4877 on 43599  Progress:  4878 on 43599  Progress:  4879 on 43599  Progress:  4880 on 43599  Progress:  4881 on 43599  Progress:  4882 on 43599  Progress:  4883 on 43599  Progress:  4884 on 43599  Progress:  4885 on 43599  Progress:  4886 on 43599  Progress:  4887 on 43599  Progress:  4888 on 43599  Progress:  4889 on 43599  Progress:  4890 on 43599  Progress:  4891 on 43599  Progress:  4892 on 43599  Progress:  4893 on 43599  Progress:  4894 on 43599  Progress:  4895 on 43599  Progress:  4896 on 43599  Progress:  4897 on 43599  Progress:  4898 on 43599  Progress:  4899 on 43599  Progress:  4900 on 43599  Progress:  4901 on 43599  Progress:  4902 on 43599  Progress:  4903 on 43599  Progress:  4904 on 43599  Progress:  4905 on 43599  Progress:  4906 on 43599  Progress:  4907 on 43599  Progress:  4908 on 43599  Progress:  4909 on 43599  Progress:  4910 on 43599  Progress:  4911 on 43599  Progress:  4912 on 43599  Progress:  4913 on 43599  Progress:  4914 on 43599  Progress:  4915 on 43599  Progress:  4916 on 43599  Progress:  4917 on 43599  Progress:  4918 on 43599  Progress:  4919 on 43599  Progress:  4920 on 43599  Progress:  4921 on 43599  Progress:  4922 on 43599  Progress:  4923 on 43599  Progress:  4924 on 43599  Progress:  4925 on 43599  Progress:  4926 on 43599  Progress:  4927 on 43599  Progress:  4928 on 43599  Progress:  4929 on 43599  Progress:  4930 on 43599  Progress:  4931 on 43599  Progress:  4932 on 43599  Progress:  4933 on 43599  Progress:  4934 on 43599  Progress:  4935 on 43599  Progress:  4936 on 43599  Progress:  4937 on 43599  Progress:  4938 on 43599  Progress:  4939 on 43599  Progress:  4940 on 43599  Progress:  4941 on 43599  Progress:  4942 on 43599  Progress:  4943 on 43599  Progress:  4944 on 43599  Progress:  4945 on 43599  Progress:  4946 on 43599  Progress:  4947 on 43599  Progress:  4948 on 43599  Progress:  4949 on 43599  Progress:  4950 on 43599  Progress:  4951 on 43599  Progress:  4952 on 43599  Progress:  4953 on 43599  Progress:  4954 on 43599  Progress:  4955 on 43599  Progress:  4956 on 43599  Progress:  4957 on 43599  Progress:  4958 on 43599  Progress:  4959 on 43599  Progress:  4960 on 43599  Progress:  4961 on 43599  Progress:  4962 on 43599  Progress:  4963 on 43599  Progress:  4964 on 43599  Progress:  4965 on 43599  Progress:  4966 on 43599  Progress:  4967 on 43599  Progress:  4968 on 43599  Progress:  4969 on 43599  Progress:  4970 on 43599  Progress:  4971 on 43599  Progress:  4972 on 43599  Progress:  4973 on 43599  Progress:  4974 on 43599  Progress:  4975 on 43599  Progress:  4976 on 43599  Progress:  4977 on 43599  Progress:  4978 on 43599  Progress:  4979 on 43599  Progress:  4980 on 43599  Progress:  4981 on 43599  Progress:  4982 on 43599  Progress:  4983 on 43599  Progress:  4984 on 43599  Progress:  4985 on 43599  Progress:  4986 on 43599  Progress:  4987 on 43599  Progress:  4988 on 43599  Progress:  4989 on 43599  Progress:  4990 on 43599  Progress:  4991 on 43599  Progress:  4992 on 43599  Progress:  4993 on 43599  Progress:  4994 on 43599  Progress:  4995 on 43599  Progress:  4996 on 43599  Progress:  4997 on 43599  Progress:  4998 on 43599  Progress:  4999 on 43599  Progress:  5000 on 43599  Progress:  5001 on 43599  Progress:  5002 on 43599  Progress:  5003 on 43599  Progress:  5004 on 43599  Progress:  5005 on 43599  Progress:  5006 on 43599  Progress:  5007 on 43599  Progress:  5008 on 43599  Progress:  5009 on 43599  Progress:  5010 on 43599  Progress:  5011 on 43599  Progress:  5012 on 43599  Progress:  5013 on 43599  Progress:  5014 on 43599  Progress:  5015 on 43599  Progress:  5016 on 43599  Progress:  5017 on 43599  Progress:  5018 on 43599  Progress:  5019 on 43599  Progress:  5020 on 43599  Progress:  5021 on 43599  Progress:  5022 on 43599  Progress:  5023 on 43599  Progress:  5024 on 43599  Progress:  5025 on 43599  Progress:  5026 on 43599  Progress:  5027 on 43599  Progress:  5028 on 43599  Progress:  5029 on 43599  Progress:  5030 on 43599  Progress:  5031 on 43599  Progress:  5032 on 43599  Progress:  5033 on 43599  Progress:  5034 on 43599  Progress:  5035 on 43599  Progress:  5036 on 43599  Progress:  5037 on 43599  Progress:  5038 on 43599  Progress:  5039 on 43599  Progress:  5040 on 43599  Progress:  5041 on 43599  Progress:  5042 on 43599  Progress:  5043 on 43599  Progress:  5044 on 43599  Progress:  5045 on 43599  Progress:  5046 on 43599  Progress:  5047 on 43599  Progress:  5048 on 43599  Progress:  5049 on 43599  Progress:  5050 on 43599  Progress:  5051 on 43599  Progress:  5052 on 43599  Progress:  5053 on 43599  Progress:  5054 on 43599  Progress:  5055 on 43599  Progress:  5056 on 43599  Progress:  5057 on 43599  Progress:  5058 on 43599  Progress:  5059 on 43599  Progress:  5060 on 43599  Progress:  5061 on 43599  Progress:  5062 on 43599  Progress:  5063 on 43599  Progress:  5064 on 43599  Progress:  5065 on 43599  Progress:  5066 on 43599  Progress:  5067 on 43599  Progress:  5068 on 43599  Progress:  5069 on 43599  Progress:  5070 on 43599  Progress:  5071 on 43599  Progress:  5072 on 43599  Progress:  5073 on 43599  Progress:  5074 on 43599  Progress:  5075 on 43599  Progress:  5076 on 43599  Progress:  5077 on 43599  Progress:  5078 on 43599  Progress:  5079 on 43599  Progress:  5080 on 43599  Progress:  5081 on 43599  Progress:  5082 on 43599  Progress:  5083 on 43599  Progress:  5084 on 43599  Progress:  5085 on 43599  Progress:  5086 on 43599  Progress:  5087 on 43599  Progress:  5088 on 43599  Progress:  5089 on 43599  Progress:  5090 on 43599  Progress:  5091 on 43599  Progress:  5092 on 43599  Progress:  5093 on 43599  Progress:  5094 on 43599  Progress:  5095 on 43599  Progress:  5096 on 43599  Progress:  5097 on 43599  Progress:  5098 on 43599  Progress:  5099 on 43599  Progress:  5100 on 43599  Progress:  5101 on 43599  Progress:  5102 on 43599  Progress:  5103 on 43599  Progress:  5104 on 43599  Progress:  5105 on 43599  Progress:  5106 on 43599  Progress:  5107 on 43599  Progress:  5108 on 43599  Progress:  5109 on 43599  Progress:  5110 on 43599  Progress:  5111 on 43599  Progress:  5112 on 43599  Progress:  5113 on 43599  Progress:  5114 on 43599  Progress:  5115 on 43599  Progress:  5116 on 43599  Progress:  5117 on 43599  Progress:  5118 on 43599  Progress:  5119 on 43599  Progress:  5120 on 43599  Progress:  5121 on 43599  Progress:  5122 on 43599  Progress:  5123 on 43599  Progress:  5124 on 43599  Progress:  5125 on 43599  Progress:  5126 on 43599  Progress:  5127 on 43599  Progress:  5128 on 43599  Progress:  5129 on 43599  Progress:  5130 on 43599  Progress:  5131 on 43599  Progress:  5132 on 43599  Progress:  5133 on 43599  Progress:  5134 on 43599  Progress:  5135 on 43599  Progress:  5136 on 43599  Progress:  5137 on 43599  Progress:  5138 on 43599  Progress:  5139 on 43599  Progress:  5140 on 43599  Progress:  5141 on 43599  Progress:  5142 on 43599  Progress:  5143 on 43599  Progress:  5144 on 43599  Progress:  5145 on 43599  Progress:  5146 on 43599  Progress:  5147 on 43599  Progress:  5148 on 43599  Progress:  5149 on 43599  Progress:  5150 on 43599  Progress:  5151 on 43599  Progress:  5152 on 43599  Progress:  5153 on 43599  Progress:  5154 on 43599  Progress:  5155 on 43599  Progress:  5156 on 43599  Progress:  5157 on 43599  Progress:  5158 on 43599  Progress:  5159 on 43599  Progress:  5160 on 43599  Progress:  5161 on 43599  Progress:  5162 on 43599  Progress:  5163 on 43599  Progress:  5164 on 43599  Progress:  5165 on 43599  Progress:  5166 on 43599  Progress:  5167 on 43599  Progress:  5168 on 43599  Progress:  5169 on 43599  Progress:  5170 on 43599  Progress:  5171 on 43599  Progress:  5172 on 43599  Progress:  5173 on 43599  Progress:  5174 on 43599  Progress:  5175 on 43599  Progress:  5176 on 43599  Progress:  5177 on 43599  Progress:  5178 on 43599  Progress:  5179 on 43599  Progress:  5180 on 43599  Progress:  5181 on 43599  Progress:  5182 on 43599  Progress:  5183 on 43599  Progress:  5184 on 43599  Progress:  5185 on 43599  Progress:  5186 on 43599  Progress:  5187 on 43599  Progress:  5188 on 43599  Progress:  5189 on 43599  Progress:  5190 on 43599  Progress:  5191 on 43599  Progress:  5192 on 43599  Progress:  5193 on 43599  Progress:  5194 on 43599  Progress:  5195 on 43599  Progress:  5196 on 43599  Progress:  5197 on 43599  Progress:  5198 on 43599  Progress:  5199 on 43599  Progress:  5200 on 43599  Progress:  5201 on 43599  Progress:  5202 on 43599  Progress:  5203 on 43599  Progress:  5204 on 43599  Progress:  5205 on 43599  Progress:  5206 on 43599  Progress:  5207 on 43599  Progress:  5208 on 43599  Progress:  5209 on 43599  Progress:  5210 on 43599  Progress:  5211 on 43599  Progress:  5212 on 43599  Progress:  5213 on 43599  Progress:  5214 on 43599  Progress:  5215 on 43599  Progress:  5216 on 43599  Progress:  5217 on 43599  Progress:  5218 on 43599  Progress:  5219 on 43599  Progress:  5220 on 43599  Progress:  5221 on 43599  Progress:  5222 on 43599  Progress:  5223 on 43599  Progress:  5224 on 43599  Progress:  5225 on 43599  Progress:  5226 on 43599  Progress:  5227 on 43599  Progress:  5228 on 43599  Progress:  5229 on 43599  Progress:  5230 on 43599  Progress:  5231 on 43599  Progress:  5232 on 43599  Progress:  5233 on 43599  Progress:  5234 on 43599  Progress:  5235 on 43599  Progress:  5236 on 43599  Progress:  5237 on 43599  Progress:  5238 on 43599  Progress:  5239 on 43599  Progress:  5240 on 43599  Progress:  5241 on 43599  Progress:  5242 on 43599  Progress:  5243 on 43599  Progress:  5244 on 43599  Progress:  5245 on 43599  Progress:  5246 on 43599  Progress:  5247 on 43599  Progress:  5248 on 43599  Progress:  5249 on 43599  Progress:  5250 on 43599  Progress:  5251 on 43599  Progress:  5252 on 43599  Progress:  5253 on 43599  Progress:  5254 on 43599  Progress:  5255 on 43599  Progress:  5256 on 43599  Progress:  5257 on 43599  Progress:  5258 on 43599  Progress:  5259 on 43599  Progress:  5260 on 43599  Progress:  5261 on 43599  Progress:  5262 on 43599  Progress:  5263 on 43599  Progress:  5264 on 43599  Progress:  5265 on 43599  Progress:  5266 on 43599  Progress:  5267 on 43599  Progress:  5268 on 43599  Progress:  5269 on 43599  Progress:  5270 on 43599  Progress:  5271 on 43599  Progress:  5272 on 43599  Progress:  5273 on 43599  Progress:  5274 on 43599  Progress:  5275 on 43599  Progress:  5276 on 43599  Progress:  5277 on 43599  Progress:  5278 on 43599  Progress:  5279 on 43599  Progress:  5280 on 43599  Progress:  5281 on 43599  Progress:  5282 on 43599  Progress:  5283 on 43599  Progress:  5284 on 43599  Progress:  5285 on 43599  Progress:  5286 on 43599  Progress:  5287 on 43599  Progress:  5288 on 43599  Progress:  5289 on 43599  Progress:  5290 on 43599  Progress:  5291 on 43599  Progress:  5292 on 43599  Progress:  5293 on 43599  Progress:  5294 on 43599  Progress:  5295 on 43599  Progress:  5296 on 43599  Progress:  5297 on 43599  Progress:  5298 on 43599  Progress:  5299 on 43599  Progress:  5300 on 43599  Progress:  5301 on 43599  Progress:  5302 on 43599  Progress:  5303 on 43599  Progress:  5304 on 43599  Progress:  5305 on 43599  Progress:  5306 on 43599  Progress:  5307 on 43599  Progress:  5308 on 43599  Progress:  5309 on 43599  Progress:  5310 on 43599  Progress:  5311 on 43599  Progress:  5312 on 43599  Progress:  5313 on 43599  Progress:  5314 on 43599  Progress:  5315 on 43599  Progress:  5316 on 43599  Progress:  5317 on 43599  Progress:  5318 on 43599  Progress:  5319 on 43599  Progress:  5320 on 43599  Progress:  5321 on 43599  Progress:  5322 on 43599  Progress:  5323 on 43599  Progress:  5324 on 43599  Progress:  5325 on 43599  Progress:  5326 on 43599  Progress:  5327 on 43599  Progress:  5328 on 43599  Progress:  5329 on 43599  Progress:  5330 on 43599  Progress:  5331 on 43599  Progress:  5332 on 43599  Progress:  5333 on 43599  Progress:  5334 on 43599  Progress:  5335 on 43599  Progress:  5336 on 43599  Progress:  5337 on 43599  Progress:  5338 on 43599  Progress:  5339 on 43599  Progress:  5340 on 43599  Progress:  5341 on 43599  Progress:  5342 on 43599  Progress:  5343 on 43599  Progress:  5344 on 43599  Progress:  5345 on 43599  Progress:  5346 on 43599  Progress:  5347 on 43599  Progress:  5348 on 43599  Progress:  5349 on 43599  Progress:  5350 on 43599  Progress:  5351 on 43599  Progress:  5352 on 43599  Progress:  5353 on 43599  Progress:  5354 on 43599  Progress:  5355 on 43599  Progress:  5356 on 43599  Progress:  5357 on 43599  Progress:  5358 on 43599  Progress:  5359 on 43599  Progress:  5360 on 43599  Progress:  5361 on 43599  Progress:  5362 on 43599  Progress:  5363 on 43599  Progress:  5364 on 43599  Progress:  5365 on 43599  Progress:  5366 on 43599  Progress:  5367 on 43599  Progress:  5368 on 43599  Progress:  5369 on 43599  Progress:  5370 on 43599  Progress:  5371 on 43599  Progress:  5372 on 43599  Progress:  5373 on 43599  Progress:  5374 on 43599  Progress:  5375 on 43599  Progress:  5376 on 43599  Progress:  5377 on 43599  Progress:  5378 on 43599  Progress:  5379 on 43599  Progress:  5380 on 43599  Progress:  5381 on 43599  Progress:  5382 on 43599  Progress:  5383 on 43599  Progress:  5384 on 43599  Progress:  5385 on 43599  Progress:  5386 on 43599  Progress:  5387 on 43599  Progress:  5388 on 43599  Progress:  5389 on 43599  Progress:  5390 on 43599  Progress:  5391 on 43599  Progress:  5392 on 43599  Progress:  5393 on 43599  Progress:  5394 on 43599  Progress:  5395 on 43599  Progress:  5396 on 43599  Progress:  5397 on 43599  Progress:  5398 on 43599  Progress:  5399 on 43599  Progress:  5400 on 43599  Progress:  5401 on 43599  Progress:  5402 on 43599  Progress:  5403 on 43599  Progress:  5404 on 43599  Progress:  5405 on 43599  Progress:  5406 on 43599  Progress:  5407 on 43599  Progress:  5408 on 43599  Progress:  5409 on 43599  Progress:  5410 on 43599  Progress:  5411 on 43599  Progress:  5412 on 43599  Progress:  5413 on 43599  Progress:  5414 on 43599  Progress:  5415 on 43599  Progress:  5416 on 43599  Progress:  5417 on 43599  Progress:  5418 on 43599  Progress:  5419 on 43599  Progress:  5420 on 43599  Progress:  5421 on 43599  Progress:  5422 on 43599  Progress:  5423 on 43599  Progress:  5424 on 43599  Progress:  5425 on 43599  Progress:  5426 on 43599  Progress:  5427 on 43599  Progress:  5428 on 43599  Progress:  5429 on 43599  Progress:  5430 on 43599  Progress:  5431 on 43599  Progress:  5432 on 43599  Progress:  5433 on 43599  Progress:  5434 on 43599  Progress:  5435 on 43599  Progress:  5436 on 43599  Progress:  5437 on 43599  Progress:  5438 on 43599  Progress:  5439 on 43599  Progress:  5440 on 43599  Progress:  5441 on 43599  Progress:  5442 on 43599  Progress:  5443 on 43599  Progress:  5444 on 43599  Progress:  5445 on 43599  Progress:  5446 on 43599  Progress:  5447 on 43599  Progress:  5448 on 43599  Progress:  5449 on 43599  Progress:  5450 on 43599  Progress:  5451 on 43599  Progress:  5452 on 43599  Progress:  5453 on 43599  Progress:  5454 on 43599  Progress:  5455 on 43599  Progress:  5456 on 43599  Progress:  5457 on 43599  Progress:  5458 on 43599  Progress:  5459 on 43599  Progress:  5460 on 43599  Progress:  5461 on 43599  Progress:  5462 on 43599  Progress:  5463 on 43599  Progress:  5464 on 43599  Progress:  5465 on 43599  Progress:  5466 on 43599  Progress:  5467 on 43599  Progress:  5468 on 43599  Progress:  5469 on 43599  Progress:  5470 on 43599  Progress:  5471 on 43599  Progress:  5472 on 43599  Progress:  5473 on 43599  Progress:  5474 on 43599  Progress:  5475 on 43599  Progress:  5476 on 43599  Progress:  5477 on 43599  Progress:  5478 on 43599  Progress:  5479 on 43599  Progress:  5480 on 43599  Progress:  5481 on 43599  Progress:  5482 on 43599  Progress:  5483 on 43599  Progress:  5484 on 43599  Progress:  5485 on 43599  Progress:  5486 on 43599  Progress:  5487 on 43599  Progress:  5488 on 43599  Progress:  5489 on 43599  Progress:  5490 on 43599  Progress:  5491 on 43599  Progress:  5492 on 43599  Progress:  5493 on 43599  Progress:  5494 on 43599  Progress:  5495 on 43599  Progress:  5496 on 43599  Progress:  5497 on 43599  Progress:  5498 on 43599  Progress:  5499 on 43599  Progress:  5500 on 43599  Progress:  5501 on 43599  Progress:  5502 on 43599  Progress:  5503 on 43599  Progress:  5504 on 43599  Progress:  5505 on 43599  Progress:  5506 on 43599  Progress:  5507 on 43599  Progress:  5508 on 43599  Progress:  5509 on 43599  Progress:  5510 on 43599  Progress:  5511 on 43599  Progress:  5512 on 43599  Progress:  5513 on 43599  Progress:  5514 on 43599  Progress:  5515 on 43599  Progress:  5516 on 43599  Progress:  5517 on 43599  Progress:  5518 on 43599  Progress:  5519 on 43599  Progress:  5520 on 43599  Progress:  5521 on 43599  Progress:  5522 on 43599  Progress:  5523 on 43599  Progress:  5524 on 43599  Progress:  5525 on 43599  Progress:  5526 on 43599  Progress:  5527 on 43599  Progress:  5528 on 43599  Progress:  5529 on 43599  Progress:  5530 on 43599  Progress:  5531 on 43599  Progress:  5532 on 43599  Progress:  5533 on 43599  Progress:  5534 on 43599  Progress:  5535 on 43599  Progress:  5536 on 43599  Progress:  5537 on 43599  Progress:  5538 on 43599  Progress:  5539 on 43599  Progress:  5540 on 43599  Progress:  5541 on 43599  Progress:  5542 on 43599  Progress:  5543 on 43599  Progress:  5544 on 43599  Progress:  5545 on 43599  Progress:  5546 on 43599  Progress:  5547 on 43599  Progress:  5548 on 43599  Progress:  5549 on 43599  Progress:  5550 on 43599  Progress:  5551 on 43599  Progress:  5552 on 43599  Progress:  5553 on 43599  Progress:  5554 on 43599  Progress:  5555 on 43599  Progress:  5556 on 43599  Progress:  5557 on 43599  Progress:  5558 on 43599  Progress:  5559 on 43599  Progress:  5560 on 43599  Progress:  5561 on 43599  Progress:  5562 on 43599  Progress:  5563 on 43599  Progress:  5564 on 43599  Progress:  5565 on 43599  Progress:  5566 on 43599  Progress:  5567 on 43599  Progress:  5568 on 43599  Progress:  5569 on 43599  Progress:  5570 on 43599  Progress:  5571 on 43599  Progress:  5572 on 43599  Progress:  5573 on 43599  Progress:  5574 on 43599  Progress:  5575 on 43599  Progress:  5576 on 43599  Progress:  5577 on 43599  Progress:  5578 on 43599  Progress:  5579 on 43599  Progress:  5580 on 43599  Progress:  5581 on 43599  Progress:  5582 on 43599  Progress:  5583 on 43599  Progress:  5584 on 43599  Progress:  5585 on 43599  Progress:  5586 on 43599  Progress:  5587 on 43599  Progress:  5588 on 43599  Progress:  5589 on 43599  Progress:  5590 on 43599  Progress:  5591 on 43599  Progress:  5592 on 43599  Progress:  5593 on 43599  Progress:  5594 on 43599  Progress:  5595 on 43599  Progress:  5596 on 43599  Progress:  5597 on 43599  Progress:  5598 on 43599  Progress:  5599 on 43599  Progress:  5600 on 43599  Progress:  5601 on 43599  Progress:  5602 on 43599  Progress:  5603 on 43599  Progress:  5604 on 43599  Progress:  5605 on 43599  Progress:  5606 on 43599  Progress:  5607 on 43599  Progress:  5608 on 43599  Progress:  5609 on 43599  Progress:  5610 on 43599  Progress:  5611 on 43599  Progress:  5612 on 43599  Progress:  5613 on 43599  Progress:  5614 on 43599  Progress:  5615 on 43599  Progress:  5616 on 43599  Progress:  5617 on 43599  Progress:  5618 on 43599  Progress:  5619 on 43599  Progress:  5620 on 43599  Progress:  5621 on 43599  Progress:  5622 on 43599  Progress:  5623 on 43599  Progress:  5624 on 43599  Progress:  5625 on 43599  Progress:  5626 on 43599  Progress:  5627 on 43599  Progress:  5628 on 43599  Progress:  5629 on 43599  Progress:  5630 on 43599  Progress:  5631 on 43599  Progress:  5632 on 43599  Progress:  5633 on 43599  Progress:  5634 on 43599  Progress:  5635 on 43599  Progress:  5636 on 43599  Progress:  5637 on 43599  Progress:  5638 on 43599  Progress:  5639 on 43599  Progress:  5640 on 43599  Progress:  5641 on 43599  Progress:  5642 on 43599  Progress:  5643 on 43599  Progress:  5644 on 43599  Progress:  5645 on 43599  Progress:  5646 on 43599  Progress:  5647 on 43599  Progress:  5648 on 43599  Progress:  5649 on 43599  Progress:  5650 on 43599  Progress:  5651 on 43599  Progress:  5652 on 43599  Progress:  5653 on 43599  Progress:  5654 on 43599  Progress:  5655 on 43599  Progress:  5656 on 43599  Progress:  5657 on 43599  Progress:  5658 on 43599  Progress:  5659 on 43599  Progress:  5660 on 43599  Progress:  5661 on 43599  Progress:  5662 on 43599  Progress:  5663 on 43599  Progress:  5664 on 43599  Progress:  5665 on 43599  Progress:  5666 on 43599  Progress:  5667 on 43599  Progress:  5668 on 43599  Progress:  5669 on 43599  Progress:  5670 on 43599  Progress:  5671 on 43599  Progress:  5672 on 43599  Progress:  5673 on 43599  Progress:  5674 on 43599  Progress:  5675 on 43599  Progress:  5676 on 43599  Progress:  5677 on 43599  Progress:  5678 on 43599  Progress:  5679 on 43599  Progress:  5680 on 43599  Progress:  5681 on 43599  Progress:  5682 on 43599  Progress:  5683 on 43599  Progress:  5684 on 43599  Progress:  5685 on 43599  Progress:  5686 on 43599  Progress:  5687 on 43599  Progress:  5688 on 43599  Progress:  5689 on 43599  Progress:  5690 on 43599  Progress:  5691 on 43599  Progress:  5692 on 43599  Progress:  5693 on 43599  Progress:  5694 on 43599  Progress:  5695 on 43599  Progress:  5696 on 43599  Progress:  5697 on 43599  Progress:  5698 on 43599  Progress:  5699 on 43599  Progress:  5700 on 43599  Progress:  5701 on 43599  Progress:  5702 on 43599  Progress:  5703 on 43599  Progress:  5704 on 43599  Progress:  5705 on 43599  Progress:  5706 on 43599  Progress:  5707 on 43599  Progress:  5708 on 43599  Progress:  5709 on 43599  Progress:  5710 on 43599  Progress:  5711 on 43599  Progress:  5712 on 43599  Progress:  5713 on 43599  Progress:  5714 on 43599  Progress:  5715 on 43599  Progress:  5716 on 43599  Progress:  5717 on 43599  Progress:  5718 on 43599  Progress:  5719 on 43599  Progress:  5720 on 43599  Progress:  5721 on 43599  Progress:  5722 on 43599  Progress:  5723 on 43599  Progress:  5724 on 43599  Progress:  5725 on 43599  Progress:  5726 on 43599  Progress:  5727 on 43599  Progress:  5728 on 43599  Progress:  5729 on 43599  Progress:  5730 on 43599  Progress:  5731 on 43599  Progress:  5732 on 43599  Progress:  5733 on 43599  Progress:  5734 on 43599  Progress:  5735 on 43599  Progress:  5736 on 43599  Progress:  5737 on 43599  Progress:  5738 on 43599  Progress:  5739 on 43599  Progress:  5740 on 43599  Progress:  5741 on 43599  Progress:  5742 on 43599  Progress:  5743 on 43599  Progress:  5744 on 43599  Progress:  5745 on 43599  Progress:  5746 on 43599  Progress:  5747 on 43599  Progress:  5748 on 43599  Progress:  5749 on 43599  Progress:  5750 on 43599  Progress:  5751 on 43599  Progress:  5752 on 43599  Progress:  5753 on 43599  Progress:  5754 on 43599  Progress:  5755 on 43599  Progress:  5756 on 43599  Progress:  5757 on 43599  Progress:  5758 on 43599  Progress:  5759 on 43599  Progress:  5760 on 43599  Progress:  5761 on 43599  Progress:  5762 on 43599  Progress:  5763 on 43599  Progress:  5764 on 43599  Progress:  5765 on 43599  Progress:  5766 on 43599  Progress:  5767 on 43599  Progress:  5768 on 43599  Progress:  5769 on 43599  Progress:  5770 on 43599  Progress:  5771 on 43599  Progress:  5772 on 43599  Progress:  5773 on 43599  Progress:  5774 on 43599  Progress:  5775 on 43599  Progress:  5776 on 43599  Progress:  5777 on 43599  Progress:  5778 on 43599  Progress:  5779 on 43599  Progress:  5780 on 43599  Progress:  5781 on 43599  Progress:  5782 on 43599  Progress:  5783 on 43599  Progress:  5784 on 43599  Progress:  5785 on 43599  Progress:  5786 on 43599  Progress:  5787 on 43599  Progress:  5788 on 43599  Progress:  5789 on 43599  Progress:  5790 on 43599  Progress:  5791 on 43599  Progress:  5792 on 43599  Progress:  5793 on 43599  Progress:  5794 on 43599  Progress:  5795 on 43599  Progress:  5796 on 43599  Progress:  5797 on 43599  Progress:  5798 on 43599  Progress:  5799 on 43599  Progress:  5800 on 43599  Progress:  5801 on 43599  Progress:  5802 on 43599  Progress:  5803 on 43599  Progress:  5804 on 43599  Progress:  5805 on 43599  Progress:  5806 on 43599  Progress:  5807 on 43599  Progress:  5808 on 43599  Progress:  5809 on 43599  Progress:  5810 on 43599  Progress:  5811 on 43599  Progress:  5812 on 43599  Progress:  5813 on 43599  Progress:  5814 on 43599  Progress:  5815 on 43599  Progress:  5816 on 43599  Progress:  5817 on 43599  Progress:  5818 on 43599  Progress:  5819 on 43599  Progress:  5820 on 43599  Progress:  5821 on 43599  Progress:  5822 on 43599  Progress:  5823 on 43599  Progress:  5824 on 43599  Progress:  5825 on 43599  Progress:  5826 on 43599  Progress:  5827 on 43599  Progress:  5828 on 43599  Progress:  5829 on 43599  Progress:  5830 on 43599  Progress:  5831 on 43599  Progress:  5832 on 43599  Progress:  5833 on 43599  Progress:  5834 on 43599  Progress:  5835 on 43599  Progress:  5836 on 43599  Progress:  5837 on 43599  Progress:  5838 on 43599  Progress:  5839 on 43599  Progress:  5840 on 43599  Progress:  5841 on 43599  Progress:  5842 on 43599  Progress:  5843 on 43599  Progress:  5844 on 43599  Progress:  5845 on 43599  Progress:  5846 on 43599  Progress:  5847 on 43599  Progress:  5848 on 43599  Progress:  5849 on 43599  Progress:  5850 on 43599  Progress:  5851 on 43599  Progress:  5852 on 43599  Progress:  5853 on 43599  Progress:  5854 on 43599  Progress:  5855 on 43599  Progress:  5856 on 43599  Progress:  5857 on 43599  Progress:  5858 on 43599  Progress:  5859 on 43599  Progress:  5860 on 43599  Progress:  5861 on 43599  Progress:  5862 on 43599  Progress:  5863 on 43599  Progress:  5864 on 43599  Progress:  5865 on 43599  Progress:  5866 on 43599  Progress:  5867 on 43599  Progress:  5868 on 43599  Progress:  5869 on 43599  Progress:  5870 on 43599  Progress:  5871 on 43599  Progress:  5872 on 43599  Progress:  5873 on 43599  Progress:  5874 on 43599  Progress:  5875 on 43599  Progress:  5876 on 43599  Progress:  5877 on 43599  Progress:  5878 on 43599  Progress:  5879 on 43599  Progress:  5880 on 43599  Progress:  5881 on 43599  Progress:  5882 on 43599  Progress:  5883 on 43599  Progress:  5884 on 43599  Progress:  5885 on 43599  Progress:  5886 on 43599  Progress:  5887 on 43599  Progress:  5888 on 43599  Progress:  5889 on 43599  Progress:  5890 on 43599  Progress:  5891 on 43599  Progress:  5892 on 43599  Progress:  5893 on 43599  Progress:  5894 on 43599  Progress:  5895 on 43599  Progress:  5896 on 43599  Progress:  5897 on 43599  Progress:  5898 on 43599  Progress:  5899 on 43599  Progress:  5900 on 43599  Progress:  5901 on 43599  Progress:  5902 on 43599  Progress:  5903 on 43599  Progress:  5904 on 43599  Progress:  5905 on 43599  Progress:  5906 on 43599  Progress:  5907 on 43599  Progress:  5908 on 43599  Progress:  5909 on 43599  Progress:  5910 on 43599  Progress:  5911 on 43599  Progress:  5912 on 43599  Progress:  5913 on 43599  Progress:  5914 on 43599  Progress:  5915 on 43599  Progress:  5916 on 43599  Progress:  5917 on 43599  Progress:  5918 on 43599  Progress:  5919 on 43599  Progress:  5920 on 43599  Progress:  5921 on 43599  Progress:  5922 on 43599  Progress:  5923 on 43599  Progress:  5924 on 43599  Progress:  5925 on 43599  Progress:  5926 on 43599  Progress:  5927 on 43599  Progress:  5928 on 43599  Progress:  5929 on 43599  Progress:  5930 on 43599  Progress:  5931 on 43599  Progress:  5932 on 43599  Progress:  5933 on 43599  Progress:  5934 on 43599  Progress:  5935 on 43599  Progress:  5936 on 43599  Progress:  5937 on 43599  Progress:  5938 on 43599  Progress:  5939 on 43599  Progress:  5940 on 43599  Progress:  5941 on 43599  Progress:  5942 on 43599  Progress:  5943 on 43599  Progress:  5944 on 43599  Progress:  5945 on 43599  Progress:  5946 on 43599  Progress:  5947 on 43599  Progress:  5948 on 43599  Progress:  5949 on 43599  Progress:  5950 on 43599  Progress:  5951 on 43599  Progress:  5952 on 43599  Progress:  5953 on 43599  Progress:  5954 on 43599  Progress:  5955 on 43599  Progress:  5956 on 43599  Progress:  5957 on 43599  Progress:  5958 on 43599  Progress:  5959 on 43599  Progress:  5960 on 43599  Progress:  5961 on 43599  Progress:  5962 on 43599  Progress:  5963 on 43599  Progress:  5964 on 43599  Progress:  5965 on 43599  Progress:  5966 on 43599  Progress:  5967 on 43599  Progress:  5968 on 43599  Progress:  5969 on 43599  Progress:  5970 on 43599  Progress:  5971 on 43599  Progress:  5972 on 43599  Progress:  5973 on 43599  Progress:  5974 on 43599  Progress:  5975 on 43599  Progress:  5976 on 43599  Progress:  5977 on 43599  Progress:  5978 on 43599  Progress:  5979 on 43599  Progress:  5980 on 43599  Progress:  5981 on 43599  Progress:  5982 on 43599  Progress:  5983 on 43599  Progress:  5984 on 43599  Progress:  5985 on 43599  Progress:  5986 on 43599  Progress:  5987 on 43599  Progress:  5988 on 43599  Progress:  5989 on 43599  Progress:  5990 on 43599  Progress:  5991 on 43599  Progress:  5992 on 43599  Progress:  5993 on 43599  Progress:  5994 on 43599  Progress:  5995 on 43599  Progress:  5996 on 43599  Progress:  5997 on 43599  Progress:  5998 on 43599  Progress:  5999 on 43599  Progress:  6000 on 43599  Progress:  6001 on 43599  Progress:  6002 on 43599  Progress:  6003 on 43599  Progress:  6004 on 43599  Progress:  6005 on 43599  Progress:  6006 on 43599  Progress:  6007 on 43599  Progress:  6008 on 43599  Progress:  6009 on 43599  Progress:  6010 on 43599  Progress:  6011 on 43599  Progress:  6012 on 43599  Progress:  6013 on 43599  Progress:  6014 on 43599  Progress:  6015 on 43599  Progress:  6016 on 43599  Progress:  6017 on 43599  Progress:  6018 on 43599  Progress:  6019 on 43599  Progress:  6020 on 43599  Progress:  6021 on 43599  Progress:  6022 on 43599  Progress:  6023 on 43599  Progress:  6024 on 43599  Progress:  6025 on 43599  Progress:  6026 on 43599  Progress:  6027 on 43599  Progress:  6028 on 43599  Progress:  6029 on 43599  Progress:  6030 on 43599  Progress:  6031 on 43599  Progress:  6032 on 43599  Progress:  6033 on 43599  Progress:  6034 on 43599  Progress:  6035 on 43599  Progress:  6036 on 43599  Progress:  6037 on 43599  Progress:  6038 on 43599  Progress:  6039 on 43599  Progress:  6040 on 43599  Progress:  6041 on 43599  Progress:  6042 on 43599  Progress:  6043 on 43599  Progress:  6044 on 43599  Progress:  6045 on 43599  Progress:  6046 on 43599  Progress:  6047 on 43599  Progress:  6048 on 43599  Progress:  6049 on 43599  Progress:  6050 on 43599  Progress:  6051 on 43599  Progress:  6052 on 43599  Progress:  6053 on 43599  Progress:  6054 on 43599  Progress:  6055 on 43599  Progress:  6056 on 43599  Progress:  6057 on 43599  Progress:  6058 on 43599  Progress:  6059 on 43599  Progress:  6060 on 43599  Progress:  6061 on 43599  Progress:  6062 on 43599  Progress:  6063 on 43599  Progress:  6064 on 43599  Progress:  6065 on 43599  Progress:  6066 on 43599  Progress:  6067 on 43599  Progress:  6068 on 43599  Progress:  6069 on 43599  Progress:  6070 on 43599  Progress:  6071 on 43599  Progress:  6072 on 43599  Progress:  6073 on 43599  Progress:  6074 on 43599  Progress:  6075 on 43599  Progress:  6076 on 43599  Progress:  6077 on 43599  Progress:  6078 on 43599  Progress:  6079 on 43599  Progress:  6080 on 43599  Progress:  6081 on 43599  Progress:  6082 on 43599  Progress:  6083 on 43599  Progress:  6084 on 43599  Progress:  6085 on 43599  Progress:  6086 on 43599  Progress:  6087 on 43599  Progress:  6088 on 43599  Progress:  6089 on 43599  Progress:  6090 on 43599  Progress:  6091 on 43599  Progress:  6092 on 43599  Progress:  6093 on 43599  Progress:  6094 on 43599  Progress:  6095 on 43599  Progress:  6096 on 43599  Progress:  6097 on 43599  Progress:  6098 on 43599  Progress:  6099 on 43599  Progress:  6100 on 43599  Progress:  6101 on 43599  Progress:  6102 on 43599  Progress:  6103 on 43599  Progress:  6104 on 43599  Progress:  6105 on 43599  Progress:  6106 on 43599  Progress:  6107 on 43599  Progress:  6108 on 43599  Progress:  6109 on 43599  Progress:  6110 on 43599  Progress:  6111 on 43599  Progress:  6112 on 43599  Progress:  6113 on 43599  Progress:  6114 on 43599  Progress:  6115 on 43599  Progress:  6116 on 43599  Progress:  6117 on 43599  Progress:  6118 on 43599  Progress:  6119 on 43599  Progress:  6120 on 43599  Progress:  6121 on 43599  Progress:  6122 on 43599  Progress:  6123 on 43599  Progress:  6124 on 43599  Progress:  6125 on 43599  Progress:  6126 on 43599  Progress:  6127 on 43599  Progress:  6128 on 43599  Progress:  6129 on 43599  Progress:  6130 on 43599  Progress:  6131 on 43599  Progress:  6132 on 43599  Progress:  6133 on 43599  Progress:  6134 on 43599  Progress:  6135 on 43599  Progress:  6136 on 43599  Progress:  6137 on 43599  Progress:  6138 on 43599  Progress:  6139 on 43599  Progress:  6140 on 43599  Progress:  6141 on 43599  Progress:  6142 on 43599  Progress:  6143 on 43599  Progress:  6144 on 43599  Progress:  6145 on 43599  Progress:  6146 on 43599  Progress:  6147 on 43599  Progress:  6148 on 43599  Progress:  6149 on 43599  Progress:  6150 on 43599  Progress:  6151 on 43599  Progress:  6152 on 43599  Progress:  6153 on 43599  Progress:  6154 on 43599  Progress:  6155 on 43599  Progress:  6156 on 43599  Progress:  6157 on 43599  Progress:  6158 on 43599  Progress:  6159 on 43599  Progress:  6160 on 43599  Progress:  6161 on 43599  Progress:  6162 on 43599  Progress:  6163 on 43599  Progress:  6164 on 43599  Progress:  6165 on 43599  Progress:  6166 on 43599  Progress:  6167 on 43599  Progress:  6168 on 43599  Progress:  6169 on 43599  Progress:  6170 on 43599  Progress:  6171 on 43599  Progress:  6172 on 43599  Progress:  6173 on 43599  Progress:  6174 on 43599  Progress:  6175 on 43599  Progress:  6176 on 43599  Progress:  6177 on 43599  Progress:  6178 on 43599  Progress:  6179 on 43599  Progress:  6180 on 43599  Progress:  6181 on 43599  Progress:  6182 on 43599  Progress:  6183 on 43599  Progress:  6184 on 43599  Progress:  6185 on 43599  Progress:  6186 on 43599  Progress:  6187 on 43599  Progress:  6188 on 43599  Progress:  6189 on 43599  Progress:  6190 on 43599  Progress:  6191 on 43599  Progress:  6192 on 43599  Progress:  6193 on 43599  Progress:  6194 on 43599  Progress:  6195 on 43599  Progress:  6196 on 43599  Progress:  6197 on 43599  Progress:  6198 on 43599  Progress:  6199 on 43599  Progress:  6200 on 43599  Progress:  6201 on 43599  Progress:  6202 on 43599  Progress:  6203 on 43599  Progress:  6204 on 43599  Progress:  6205 on 43599  Progress:  6206 on 43599  Progress:  6207 on 43599  Progress:  6208 on 43599  Progress:  6209 on 43599  Progress:  6210 on 43599  Progress:  6211 on 43599  Progress:  6212 on 43599  Progress:  6213 on 43599  Progress:  6214 on 43599  Progress:  6215 on 43599  Progress:  6216 on 43599  Progress:  6217 on 43599  Progress:  6218 on 43599  Progress:  6219 on 43599  Progress:  6220 on 43599  Progress:  6221 on 43599  Progress:  6222 on 43599  Progress:  6223 on 43599  Progress:  6224 on 43599  Progress:  6225 on 43599  Progress:  6226 on 43599  Progress:  6227 on 43599  Progress:  6228 on 43599  Progress:  6229 on 43599  Progress:  6230 on 43599  Progress:  6231 on 43599  Progress:  6232 on 43599  Progress:  6233 on 43599  Progress:  6234 on 43599  Progress:  6235 on 43599  Progress:  6236 on 43599  Progress:  6237 on 43599  Progress:  6238 on 43599  Progress:  6239 on 43599  Progress:  6240 on 43599  Progress:  6241 on 43599  Progress:  6242 on 43599  Progress:  6243 on 43599  Progress:  6244 on 43599  Progress:  6245 on 43599  Progress:  6246 on 43599  Progress:  6247 on 43599  Progress:  6248 on 43599  Progress:  6249 on 43599  Progress:  6250 on 43599  Progress:  6251 on 43599  Progress:  6252 on 43599  Progress:  6253 on 43599  Progress:  6254 on 43599  Progress:  6255 on 43599  Progress:  6256 on 43599  Progress:  6257 on 43599  Progress:  6258 on 43599  Progress:  6259 on 43599  Progress:  6260 on 43599  Progress:  6261 on 43599  Progress:  6262 on 43599  Progress:  6263 on 43599  Progress:  6264 on 43599  Progress:  6265 on 43599  Progress:  6266 on 43599  Progress:  6267 on 43599  Progress:  6268 on 43599  Progress:  6269 on 43599  Progress:  6270 on 43599  Progress:  6271 on 43599  Progress:  6272 on 43599  Progress:  6273 on 43599  Progress:  6274 on 43599  Progress:  6275 on 43599  Progress:  6276 on 43599  Progress:  6277 on 43599  Progress:  6278 on 43599  Progress:  6279 on 43599  Progress:  6280 on 43599  Progress:  6281 on 43599  Progress:  6282 on 43599  Progress:  6283 on 43599  Progress:  6284 on 43599  Progress:  6285 on 43599  Progress:  6286 on 43599  Progress:  6287 on 43599  Progress:  6288 on 43599  Progress:  6289 on 43599  Progress:  6290 on 43599  Progress:  6291 on 43599  Progress:  6292 on 43599  Progress:  6293 on 43599  Progress:  6294 on 43599  Progress:  6295 on 43599  Progress:  6296 on 43599  Progress:  6297 on 43599  Progress:  6298 on 43599  Progress:  6299 on 43599  Progress:  6300 on 43599  Progress:  6301 on 43599  Progress:  6302 on 43599  Progress:  6303 on 43599  Progress:  6304 on 43599  Progress:  6305 on 43599  Progress:  6306 on 43599  Progress:  6307 on 43599  Progress:  6308 on 43599  Progress:  6309 on 43599  Progress:  6310 on 43599  Progress:  6311 on 43599  Progress:  6312 on 43599  Progress:  6313 on 43599  Progress:  6314 on 43599  Progress:  6315 on 43599  Progress:  6316 on 43599  Progress:  6317 on 43599  Progress:  6318 on 43599  Progress:  6319 on 43599  Progress:  6320 on 43599  Progress:  6321 on 43599  Progress:  6322 on 43599  Progress:  6323 on 43599  Progress:  6324 on 43599  Progress:  6325 on 43599  Progress:  6326 on 43599  Progress:  6327 on 43599  Progress:  6328 on 43599  Progress:  6329 on 43599  Progress:  6330 on 43599  Progress:  6331 on 43599  Progress:  6332 on 43599  Progress:  6333 on 43599  Progress:  6334 on 43599  Progress:  6335 on 43599  Progress:  6336 on 43599  Progress:  6337 on 43599  Progress:  6338 on 43599  Progress:  6339 on 43599  Progress:  6340 on 43599  Progress:  6341 on 43599  Progress:  6342 on 43599  Progress:  6343 on 43599  Progress:  6344 on 43599  Progress:  6345 on 43599  Progress:  6346 on 43599  Progress:  6347 on 43599  Progress:  6348 on 43599  Progress:  6349 on 43599  Progress:  6350 on 43599  Progress:  6351 on 43599  Progress:  6352 on 43599  Progress:  6353 on 43599  Progress:  6354 on 43599  Progress:  6355 on 43599  Progress:  6356 on 43599  Progress:  6357 on 43599  Progress:  6358 on 43599  Progress:  6359 on 43599  Progress:  6360 on 43599  Progress:  6361 on 43599  Progress:  6362 on 43599  Progress:  6363 on 43599  Progress:  6364 on 43599  Progress:  6365 on 43599  Progress:  6366 on 43599  Progress:  6367 on 43599  Progress:  6368 on 43599  Progress:  6369 on 43599  Progress:  6370 on 43599  Progress:  6371 on 43599  Progress:  6372 on 43599  Progress:  6373 on 43599  Progress:  6374 on 43599  Progress:  6375 on 43599  Progress:  6376 on 43599  Progress:  6377 on 43599  Progress:  6378 on 43599  Progress:  6379 on 43599  Progress:  6380 on 43599  Progress:  6381 on 43599  Progress:  6382 on 43599  Progress:  6383 on 43599  Progress:  6384 on 43599  Progress:  6385 on 43599  Progress:  6386 on 43599  Progress:  6387 on 43599  Progress:  6388 on 43599  Progress:  6389 on 43599  Progress:  6390 on 43599  Progress:  6391 on 43599  Progress:  6392 on 43599  Progress:  6393 on 43599  Progress:  6394 on 43599  Progress:  6395 on 43599  Progress:  6396 on 43599  Progress:  6397 on 43599  Progress:  6398 on 43599  Progress:  6399 on 43599  Progress:  6400 on 43599  Progress:  6401 on 43599  Progress:  6402 on 43599  Progress:  6403 on 43599  Progress:  6404 on 43599  Progress:  6405 on 43599  Progress:  6406 on 43599  Progress:  6407 on 43599  Progress:  6408 on 43599  Progress:  6409 on 43599  Progress:  6410 on 43599  Progress:  6411 on 43599  Progress:  6412 on 43599  Progress:  6413 on 43599  Progress:  6414 on 43599  Progress:  6415 on 43599  Progress:  6416 on 43599  Progress:  6417 on 43599  Progress:  6418 on 43599  Progress:  6419 on 43599  Progress:  6420 on 43599  Progress:  6421 on 43599  Progress:  6422 on 43599  Progress:  6423 on 43599  Progress:  6424 on 43599  Progress:  6425 on 43599  Progress:  6426 on 43599  Progress:  6427 on 43599  Progress:  6428 on 43599  Progress:  6429 on 43599  Progress:  6430 on 43599  Progress:  6431 on 43599  Progress:  6432 on 43599  Progress:  6433 on 43599  Progress:  6434 on 43599  Progress:  6435 on 43599  Progress:  6436 on 43599  Progress:  6437 on 43599  Progress:  6438 on 43599  Progress:  6439 on 43599  Progress:  6440 on 43599  Progress:  6441 on 43599  Progress:  6442 on 43599  Progress:  6443 on 43599  Progress:  6444 on 43599  Progress:  6445 on 43599  Progress:  6446 on 43599  Progress:  6447 on 43599  Progress:  6448 on 43599  Progress:  6449 on 43599  Progress:  6450 on 43599  Progress:  6451 on 43599  Progress:  6452 on 43599  Progress:  6453 on 43599  Progress:  6454 on 43599  Progress:  6455 on 43599  Progress:  6456 on 43599  Progress:  6457 on 43599  Progress:  6458 on 43599  Progress:  6459 on 43599  Progress:  6460 on 43599  Progress:  6461 on 43599  Progress:  6462 on 43599  Progress:  6463 on 43599  Progress:  6464 on 43599  Progress:  6465 on 43599  Progress:  6466 on 43599  Progress:  6467 on 43599  Progress:  6468 on 43599  Progress:  6469 on 43599  Progress:  6470 on 43599  Progress:  6471 on 43599  Progress:  6472 on 43599  Progress:  6473 on 43599  Progress:  6474 on 43599  Progress:  6475 on 43599  Progress:  6476 on 43599  Progress:  6477 on 43599  Progress:  6478 on 43599  Progress:  6479 on 43599  Progress:  6480 on 43599  Progress:  6481 on 43599  Progress:  6482 on 43599  Progress:  6483 on 43599  Progress:  6484 on 43599  Progress:  6485 on 43599  Progress:  6486 on 43599  Progress:  6487 on 43599  Progress:  6488 on 43599  Progress:  6489 on 43599  Progress:  6490 on 43599  Progress:  6491 on 43599  Progress:  6492 on 43599  Progress:  6493 on 43599  Progress:  6494 on 43599  Progress:  6495 on 43599  Progress:  6496 on 43599  Progress:  6497 on 43599  Progress:  6498 on 43599  Progress:  6499 on 43599  Progress:  6500 on 43599  Progress:  6501 on 43599  Progress:  6502 on 43599  Progress:  6503 on 43599  Progress:  6504 on 43599  Progress:  6505 on 43599  Progress:  6506 on 43599  Progress:  6507 on 43599  Progress:  6508 on 43599  Progress:  6509 on 43599  Progress:  6510 on 43599  Progress:  6511 on 43599  Progress:  6512 on 43599  Progress:  6513 on 43599  Progress:  6514 on 43599  Progress:  6515 on 43599  Progress:  6516 on 43599  Progress:  6517 on 43599  Progress:  6518 on 43599  Progress:  6519 on 43599  Progress:  6520 on 43599  Progress:  6521 on 43599  Progress:  6522 on 43599  Progress:  6523 on 43599  Progress:  6524 on 43599  Progress:  6525 on 43599  Progress:  6526 on 43599  Progress:  6527 on 43599  Progress:  6528 on 43599  Progress:  6529 on 43599  Progress:  6530 on 43599  Progress:  6531 on 43599  Progress:  6532 on 43599  Progress:  6533 on 43599  Progress:  6534 on 43599  Progress:  6535 on 43599  Progress:  6536 on 43599  Progress:  6537 on 43599  Progress:  6538 on 43599  Progress:  6539 on 43599  Progress:  6540 on 43599  Progress:  6541 on 43599  Progress:  6542 on 43599  Progress:  6543 on 43599  Progress:  6544 on 43599  Progress:  6545 on 43599  Progress:  6546 on 43599  Progress:  6547 on 43599  Progress:  6548 on 43599  Progress:  6549 on 43599  Progress:  6550 on 43599  Progress:  6551 on 43599  Progress:  6552 on 43599  Progress:  6553 on 43599  Progress:  6554 on 43599  Progress:  6555 on 43599  Progress:  6556 on 43599  Progress:  6557 on 43599  Progress:  6558 on 43599  Progress:  6559 on 43599  Progress:  6560 on 43599  Progress:  6561 on 43599  Progress:  6562 on 43599  Progress:  6563 on 43599  Progress:  6564 on 43599  Progress:  6565 on 43599  Progress:  6566 on 43599  Progress:  6567 on 43599  Progress:  6568 on 43599  Progress:  6569 on 43599  Progress:  6570 on 43599  Progress:  6571 on 43599  Progress:  6572 on 43599  Progress:  6573 on 43599  Progress:  6574 on 43599  Progress:  6575 on 43599  Progress:  6576 on 43599  Progress:  6577 on 43599  Progress:  6578 on 43599  Progress:  6579 on 43599  Progress:  6580 on 43599  Progress:  6581 on 43599  Progress:  6582 on 43599  Progress:  6583 on 43599  Progress:  6584 on 43599  Progress:  6585 on 43599  Progress:  6586 on 43599  Progress:  6587 on 43599  Progress:  6588 on 43599  Progress:  6589 on 43599  Progress:  6590 on 43599  Progress:  6591 on 43599  Progress:  6592 on 43599  Progress:  6593 on 43599  Progress:  6594 on 43599  Progress:  6595 on 43599  Progress:  6596 on 43599  Progress:  6597 on 43599  Progress:  6598 on 43599  Progress:  6599 on 43599  Progress:  6600 on 43599  Progress:  6601 on 43599  Progress:  6602 on 43599  Progress:  6603 on 43599  Progress:  6604 on 43599  Progress:  6605 on 43599  Progress:  6606 on 43599  Progress:  6607 on 43599  Progress:  6608 on 43599  Progress:  6609 on 43599  Progress:  6610 on 43599  Progress:  6611 on 43599  Progress:  6612 on 43599  Progress:  6613 on 43599  Progress:  6614 on 43599  Progress:  6615 on 43599  Progress:  6616 on 43599  Progress:  6617 on 43599  Progress:  6618 on 43599  Progress:  6619 on 43599  Progress:  6620 on 43599  Progress:  6621 on 43599  Progress:  6622 on 43599  Progress:  6623 on 43599  Progress:  6624 on 43599  Progress:  6625 on 43599  Progress:  6626 on 43599  Progress:  6627 on 43599  Progress:  6628 on 43599  Progress:  6629 on 43599  Progress:  6630 on 43599  Progress:  6631 on 43599  Progress:  6632 on 43599  Progress:  6633 on 43599  Progress:  6634 on 43599  Progress:  6635 on 43599  Progress:  6636 on 43599  Progress:  6637 on 43599  Progress:  6638 on 43599  Progress:  6639 on 43599  Progress:  6640 on 43599  Progress:  6641 on 43599  Progress:  6642 on 43599  Progress:  6643 on 43599  Progress:  6644 on 43599  Progress:  6645 on 43599  Progress:  6646 on 43599  Progress:  6647 on 43599  Progress:  6648 on 43599  Progress:  6649 on 43599  Progress:  6650 on 43599  Progress:  6651 on 43599  Progress:  6652 on 43599  Progress:  6653 on 43599  Progress:  6654 on 43599  Progress:  6655 on 43599  Progress:  6656 on 43599  Progress:  6657 on 43599  Progress:  6658 on 43599  Progress:  6659 on 43599  Progress:  6660 on 43599  Progress:  6661 on 43599  Progress:  6662 on 43599  Progress:  6663 on 43599  Progress:  6664 on 43599  Progress:  6665 on 43599  Progress:  6666 on 43599  Progress:  6667 on 43599  Progress:  6668 on 43599  Progress:  6669 on 43599  Progress:  6670 on 43599  Progress:  6671 on 43599  Progress:  6672 on 43599  Progress:  6673 on 43599  Progress:  6674 on 43599  Progress:  6675 on 43599  Progress:  6676 on 43599  Progress:  6677 on 43599  Progress:  6678 on 43599  Progress:  6679 on 43599  Progress:  6680 on 43599  Progress:  6681 on 43599  Progress:  6682 on 43599  Progress:  6683 on 43599  Progress:  6684 on 43599  Progress:  6685 on 43599  Progress:  6686 on 43599  Progress:  6687 on 43599  Progress:  6688 on 43599  Progress:  6689 on 43599  Progress:  6690 on 43599  Progress:  6691 on 43599  Progress:  6692 on 43599  Progress:  6693 on 43599  Progress:  6694 on 43599  Progress:  6695 on 43599  Progress:  6696 on 43599  Progress:  6697 on 43599  Progress:  6698 on 43599  Progress:  6699 on 43599  Progress:  6700 on 43599  Progress:  6701 on 43599  Progress:  6702 on 43599  Progress:  6703 on 43599  Progress:  6704 on 43599  Progress:  6705 on 43599  Progress:  6706 on 43599  Progress:  6707 on 43599  Progress:  6708 on 43599  Progress:  6709 on 43599  Progress:  6710 on 43599  Progress:  6711 on 43599  Progress:  6712 on 43599  Progress:  6713 on 43599  Progress:  6714 on 43599  Progress:  6715 on 43599  Progress:  6716 on 43599  Progress:  6717 on 43599  Progress:  6718 on 43599  Progress:  6719 on 43599  Progress:  6720 on 43599  Progress:  6721 on 43599  Progress:  6722 on 43599  Progress:  6723 on 43599  Progress:  6724 on 43599  Progress:  6725 on 43599  Progress:  6726 on 43599  Progress:  6727 on 43599  Progress:  6728 on 43599  Progress:  6729 on 43599  Progress:  6730 on 43599  Progress:  6731 on 43599  Progress:  6732 on 43599  Progress:  6733 on 43599  Progress:  6734 on 43599  Progress:  6735 on 43599  Progress:  6736 on 43599  Progress:  6737 on 43599  Progress:  6738 on 43599  Progress:  6739 on 43599  Progress:  6740 on 43599  Progress:  6741 on 43599  Progress:  6742 on 43599  Progress:  6743 on 43599  Progress:  6744 on 43599  Progress:  6745 on 43599  Progress:  6746 on 43599  Progress:  6747 on 43599  Progress:  6748 on 43599  Progress:  6749 on 43599  Progress:  6750 on 43599  Progress:  6751 on 43599  Progress:  6752 on 43599  Progress:  6753 on 43599  Progress:  6754 on 43599  Progress:  6755 on 43599  Progress:  6756 on 43599  Progress:  6757 on 43599  Progress:  6758 on 43599  Progress:  6759 on 43599  Progress:  6760 on 43599  Progress:  6761 on 43599  Progress:  6762 on 43599  Progress:  6763 on 43599  Progress:  6764 on 43599  Progress:  6765 on 43599  Progress:  6766 on 43599  Progress:  6767 on 43599  Progress:  6768 on 43599  Progress:  6769 on 43599  Progress:  6770 on 43599  Progress:  6771 on 43599  Progress:  6772 on 43599  Progress:  6773 on 43599  Progress:  6774 on 43599  Progress:  6775 on 43599  Progress:  6776 on 43599  Progress:  6777 on 43599  Progress:  6778 on 43599  Progress:  6779 on 43599  Progress:  6780 on 43599  Progress:  6781 on 43599  Progress:  6782 on 43599  Progress:  6783 on 43599  Progress:  6784 on 43599  Progress:  6785 on 43599  Progress:  6786 on 43599  Progress:  6787 on 43599  Progress:  6788 on 43599  Progress:  6789 on 43599  Progress:  6790 on 43599  Progress:  6791 on 43599  Progress:  6792 on 43599  Progress:  6793 on 43599  Progress:  6794 on 43599  Progress:  6795 on 43599  Progress:  6796 on 43599  Progress:  6797 on 43599  Progress:  6798 on 43599  Progress:  6799 on 43599  Progress:  6800 on 43599  Progress:  6801 on 43599  Progress:  6802 on 43599  Progress:  6803 on 43599  Progress:  6804 on 43599  Progress:  6805 on 43599  Progress:  6806 on 43599  Progress:  6807 on 43599  Progress:  6808 on 43599  Progress:  6809 on 43599  Progress:  6810 on 43599  Progress:  6811 on 43599  Progress:  6812 on 43599  Progress:  6813 on 43599  Progress:  6814 on 43599  Progress:  6815 on 43599  Progress:  6816 on 43599  Progress:  6817 on 43599  Progress:  6818 on 43599  Progress:  6819 on 43599  Progress:  6820 on 43599  Progress:  6821 on 43599  Progress:  6822 on 43599  Progress:  6823 on 43599  Progress:  6824 on 43599  Progress:  6825 on 43599  Progress:  6826 on 43599  Progress:  6827 on 43599  Progress:  6828 on 43599  Progress:  6829 on 43599  Progress:  6830 on 43599  Progress:  6831 on 43599  Progress:  6832 on 43599  Progress:  6833 on 43599  Progress:  6834 on 43599  Progress:  6835 on 43599  Progress:  6836 on 43599  Progress:  6837 on 43599  Progress:  6838 on 43599  Progress:  6839 on 43599  Progress:  6840 on 43599  Progress:  6841 on 43599  Progress:  6842 on 43599  Progress:  6843 on 43599  Progress:  6844 on 43599  Progress:  6845 on 43599  Progress:  6846 on 43599  Progress:  6847 on 43599  Progress:  6848 on 43599  Progress:  6849 on 43599  Progress:  6850 on 43599  Progress:  6851 on 43599  Progress:  6852 on 43599  Progress:  6853 on 43599  Progress:  6854 on 43599  Progress:  6855 on 43599  Progress:  6856 on 43599  Progress:  6857 on 43599  Progress:  6858 on 43599  Progress:  6859 on 43599  Progress:  6860 on 43599  Progress:  6861 on 43599  Progress:  6862 on 43599  Progress:  6863 on 43599  Progress:  6864 on 43599  Progress:  6865 on 43599  Progress:  6866 on 43599  Progress:  6867 on 43599  Progress:  6868 on 43599  Progress:  6869 on 43599  Progress:  6870 on 43599  Progress:  6871 on 43599  Progress:  6872 on 43599  Progress:  6873 on 43599  Progress:  6874 on 43599  Progress:  6875 on 43599  Progress:  6876 on 43599  Progress:  6877 on 43599  Progress:  6878 on 43599  Progress:  6879 on 43599  Progress:  6880 on 43599  Progress:  6881 on 43599  Progress:  6882 on 43599  Progress:  6883 on 43599  Progress:  6884 on 43599  Progress:  6885 on 43599  Progress:  6886 on 43599  Progress:  6887 on 43599  Progress:  6888 on 43599  Progress:  6889 on 43599  Progress:  6890 on 43599  Progress:  6891 on 43599  Progress:  6892 on 43599  Progress:  6893 on 43599  Progress:  6894 on 43599  Progress:  6895 on 43599  Progress:  6896 on 43599  Progress:  6897 on 43599  Progress:  6898 on 43599  Progress:  6899 on 43599  Progress:  6900 on 43599  Progress:  6901 on 43599  Progress:  6902 on 43599  Progress:  6903 on 43599  Progress:  6904 on 43599  Progress:  6905 on 43599  Progress:  6906 on 43599  Progress:  6907 on 43599  Progress:  6908 on 43599  Progress:  6909 on 43599  Progress:  6910 on 43599  Progress:  6911 on 43599  Progress:  6912 on 43599  Progress:  6913 on 43599  Progress:  6914 on 43599  Progress:  6915 on 43599  Progress:  6916 on 43599  Progress:  6917 on 43599  Progress:  6918 on 43599  Progress:  6919 on 43599  Progress:  6920 on 43599  Progress:  6921 on 43599  Progress:  6922 on 43599  Progress:  6923 on 43599  Progress:  6924 on 43599  Progress:  6925 on 43599  Progress:  6926 on 43599  Progress:  6927 on 43599  Progress:  6928 on 43599  Progress:  6929 on 43599  Progress:  6930 on 43599  Progress:  6931 on 43599  Progress:  6932 on 43599  Progress:  6933 on 43599  Progress:  6934 on 43599  Progress:  6935 on 43599  Progress:  6936 on 43599  Progress:  6937 on 43599  Progress:  6938 on 43599  Progress:  6939 on 43599  Progress:  6940 on 43599  Progress:  6941 on 43599  Progress:  6942 on 43599  Progress:  6943 on 43599  Progress:  6944 on 43599  Progress:  6945 on 43599  Progress:  6946 on 43599  Progress:  6947 on 43599  Progress:  6948 on 43599  Progress:  6949 on 43599  Progress:  6950 on 43599  Progress:  6951 on 43599  Progress:  6952 on 43599  Progress:  6953 on 43599  Progress:  6954 on 43599  Progress:  6955 on 43599  Progress:  6956 on 43599  Progress:  6957 on 43599  Progress:  6958 on 43599  Progress:  6959 on 43599  Progress:  6960 on 43599  Progress:  6961 on 43599  Progress:  6962 on 43599  Progress:  6963 on 43599  Progress:  6964 on 43599  Progress:  6965 on 43599  Progress:  6966 on 43599  Progress:  6967 on 43599  Progress:  6968 on 43599  Progress:  6969 on 43599  Progress:  6970 on 43599  Progress:  6971 on 43599  Progress:  6972 on 43599  Progress:  6973 on 43599  Progress:  6974 on 43599  Progress:  6975 on 43599  Progress:  6976 on 43599  Progress:  6977 on 43599  Progress:  6978 on 43599  Progress:  6979 on 43599  Progress:  6980 on 43599  Progress:  6981 on 43599  Progress:  6982 on 43599  Progress:  6983 on 43599  Progress:  6984 on 43599  Progress:  6985 on 43599  Progress:  6986 on 43599  Progress:  6987 on 43599  Progress:  6988 on 43599  Progress:  6989 on 43599  Progress:  6990 on 43599  Progress:  6991 on 43599  Progress:  6992 on 43599  Progress:  6993 on 43599  Progress:  6994 on 43599  Progress:  6995 on 43599  Progress:  6996 on 43599  Progress:  6997 on 43599  Progress:  6998 on 43599  Progress:  6999 on 43599  Progress:  7000 on 43599  Progress:  7001 on 43599  Progress:  7002 on 43599  Progress:  7003 on 43599  Progress:  7004 on 43599  Progress:  7005 on 43599  Progress:  7006 on 43599  Progress:  7007 on 43599  Progress:  7008 on 43599  Progress:  7009 on 43599  Progress:  7010 on 43599  Progress:  7011 on 43599  Progress:  7012 on 43599  Progress:  7013 on 43599  Progress:  7014 on 43599  Progress:  7015 on 43599  Progress:  7016 on 43599  Progress:  7017 on 43599  Progress:  7018 on 43599  Progress:  7019 on 43599  Progress:  7020 on 43599  Progress:  7021 on 43599  Progress:  7022 on 43599  Progress:  7023 on 43599  Progress:  7024 on 43599  Progress:  7025 on 43599  Progress:  7026 on 43599  Progress:  7027 on 43599  Progress:  7028 on 43599  Progress:  7029 on 43599  Progress:  7030 on 43599  Progress:  7031 on 43599  Progress:  7032 on 43599  Progress:  7033 on 43599  Progress:  7034 on 43599  Progress:  7035 on 43599  Progress:  7036 on 43599  Progress:  7037 on 43599  Progress:  7038 on 43599  Progress:  7039 on 43599  Progress:  7040 on 43599  Progress:  7041 on 43599  Progress:  7042 on 43599  Progress:  7043 on 43599  Progress:  7044 on 43599  Progress:  7045 on 43599  Progress:  7046 on 43599  Progress:  7047 on 43599  Progress:  7048 on 43599  Progress:  7049 on 43599  Progress:  7050 on 43599  Progress:  7051 on 43599  Progress:  7052 on 43599  Progress:  7053 on 43599  Progress:  7054 on 43599  Progress:  7055 on 43599  Progress:  7056 on 43599  Progress:  7057 on 43599  Progress:  7058 on 43599  Progress:  7059 on 43599  Progress:  7060 on 43599  Progress:  7061 on 43599  Progress:  7062 on 43599  Progress:  7063 on 43599  Progress:  7064 on 43599  Progress:  7065 on 43599  Progress:  7066 on 43599  Progress:  7067 on 43599  Progress:  7068 on 43599  Progress:  7069 on 43599  Progress:  7070 on 43599  Progress:  7071 on 43599  Progress:  7072 on 43599  Progress:  7073 on 43599  Progress:  7074 on 43599  Progress:  7075 on 43599  Progress:  7076 on 43599  Progress:  7077 on 43599  Progress:  7078 on 43599  Progress:  7079 on 43599  Progress:  7080 on 43599  Progress:  7081 on 43599  Progress:  7082 on 43599  Progress:  7083 on 43599  Progress:  7084 on 43599  Progress:  7085 on 43599  Progress:  7086 on 43599  Progress:  7087 on 43599  Progress:  7088 on 43599  Progress:  7089 on 43599  Progress:  7090 on 43599  Progress:  7091 on 43599  Progress:  7092 on 43599  Progress:  7093 on 43599  Progress:  7094 on 43599  Progress:  7095 on 43599  Progress:  7096 on 43599  Progress:  7097 on 43599  Progress:  7098 on 43599  Progress:  7099 on 43599  Progress:  7100 on 43599  Progress:  7101 on 43599  Progress:  7102 on 43599  Progress:  7103 on 43599  Progress:  7104 on 43599  Progress:  7105 on 43599  Progress:  7106 on 43599  Progress:  7107 on 43599  Progress:  7108 on 43599  Progress:  7109 on 43599  Progress:  7110 on 43599  Progress:  7111 on 43599  Progress:  7112 on 43599  Progress:  7113 on 43599  Progress:  7114 on 43599  Progress:  7115 on 43599  Progress:  7116 on 43599  Progress:  7117 on 43599  Progress:  7118 on 43599  Progress:  7119 on 43599  Progress:  7120 on 43599  Progress:  7121 on 43599  Progress:  7122 on 43599  Progress:  7123 on 43599  Progress:  7124 on 43599  Progress:  7125 on 43599  Progress:  7126 on 43599  Progress:  7127 on 43599  Progress:  7128 on 43599  Progress:  7129 on 43599  Progress:  7130 on 43599  Progress:  7131 on 43599  Progress:  7132 on 43599  Progress:  7133 on 43599  Progress:  7134 on 43599  Progress:  7135 on 43599  Progress:  7136 on 43599  Progress:  7137 on 43599  Progress:  7138 on 43599  Progress:  7139 on 43599  Progress:  7140 on 43599  Progress:  7141 on 43599  Progress:  7142 on 43599  Progress:  7143 on 43599  Progress:  7144 on 43599  Progress:  7145 on 43599  Progress:  7146 on 43599  Progress:  7147 on 43599  Progress:  7148 on 43599  Progress:  7149 on 43599  Progress:  7150 on 43599  Progress:  7151 on 43599  Progress:  7152 on 43599  Progress:  7153 on 43599  Progress:  7154 on 43599  Progress:  7155 on 43599  Progress:  7156 on 43599  Progress:  7157 on 43599  Progress:  7158 on 43599  Progress:  7159 on 43599  Progress:  7160 on 43599  Progress:  7161 on 43599  Progress:  7162 on 43599  Progress:  7163 on 43599  Progress:  7164 on 43599  Progress:  7165 on 43599  Progress:  7166 on 43599  Progress:  7167 on 43599  Progress:  7168 on 43599  Progress:  7169 on 43599  Progress:  7170 on 43599  Progress:  7171 on 43599  Progress:  7172 on 43599  Progress:  7173 on 43599  Progress:  7174 on 43599  Progress:  7175 on 43599  Progress:  7176 on 43599  Progress:  7177 on 43599  Progress:  7178 on 43599  Progress:  7179 on 43599  Progress:  7180 on 43599  Progress:  7181 on 43599  Progress:  7182 on 43599  Progress:  7183 on 43599  Progress:  7184 on 43599  Progress:  7185 on 43599  Progress:  7186 on 43599  Progress:  7187 on 43599  Progress:  7188 on 43599  Progress:  7189 on 43599  Progress:  7190 on 43599  Progress:  7191 on 43599  Progress:  7192 on 43599  Progress:  7193 on 43599  Progress:  7194 on 43599  Progress:  7195 on 43599  Progress:  7196 on 43599  Progress:  7197 on 43599  Progress:  7198 on 43599  Progress:  7199 on 43599  Progress:  7200 on 43599  Progress:  7201 on 43599  Progress:  7202 on 43599  Progress:  7203 on 43599  Progress:  7204 on 43599  Progress:  7205 on 43599  Progress:  7206 on 43599  Progress:  7207 on 43599  Progress:  7208 on 43599  Progress:  7209 on 43599  Progress:  7210 on 43599  Progress:  7211 on 43599  Progress:  7212 on 43599  Progress:  7213 on 43599  Progress:  7214 on 43599  Progress:  7215 on 43599  Progress:  7216 on 43599  Progress:  7217 on 43599  Progress:  7218 on 43599  Progress:  7219 on 43599  Progress:  7220 on 43599  Progress:  7221 on 43599  Progress:  7222 on 43599  Progress:  7223 on 43599  Progress:  7224 on 43599  Progress:  7225 on 43599  Progress:  7226 on 43599  Progress:  7227 on 43599  Progress:  7228 on 43599  Progress:  7229 on 43599  Progress:  7230 on 43599  Progress:  7231 on 43599  Progress:  7232 on 43599  Progress:  7233 on 43599  Progress:  7234 on 43599  Progress:  7235 on 43599  Progress:  7236 on 43599  Progress:  7237 on 43599  Progress:  7238 on 43599  Progress:  7239 on 43599  Progress:  7240 on 43599  Progress:  7241 on 43599  Progress:  7242 on 43599  Progress:  7243 on 43599  Progress:  7244 on 43599  Progress:  7245 on 43599  Progress:  7246 on 43599  Progress:  7247 on 43599  Progress:  7248 on 43599  Progress:  7249 on 43599  Progress:  7250 on 43599  Progress:  7251 on 43599  Progress:  7252 on 43599  Progress:  7253 on 43599  Progress:  7254 on 43599  Progress:  7255 on 43599  Progress:  7256 on 43599  Progress:  7257 on 43599  Progress:  7258 on 43599  Progress:  7259 on 43599  Progress:  7260 on 43599  Progress:  7261 on 43599  Progress:  7262 on 43599  Progress:  7263 on 43599  Progress:  7264 on 43599  Progress:  7265 on 43599  Progress:  7266 on 43599  Progress:  7267 on 43599  Progress:  7268 on 43599  Progress:  7269 on 43599  Progress:  7270 on 43599  Progress:  7271 on 43599  Progress:  7272 on 43599  Progress:  7273 on 43599  Progress:  7274 on 43599  Progress:  7275 on 43599  Progress:  7276 on 43599  Progress:  7277 on 43599  Progress:  7278 on 43599  Progress:  7279 on 43599  Progress:  7280 on 43599  Progress:  7281 on 43599  Progress:  7282 on 43599  Progress:  7283 on 43599  Progress:  7284 on 43599  Progress:  7285 on 43599  Progress:  7286 on 43599  Progress:  7287 on 43599  Progress:  7288 on 43599  Progress:  7289 on 43599  Progress:  7290 on 43599  Progress:  7291 on 43599  Progress:  7292 on 43599  Progress:  7293 on 43599  Progress:  7294 on 43599  Progress:  7295 on 43599  Progress:  7296 on 43599  Progress:  7297 on 43599  Progress:  7298 on 43599  Progress:  7299 on 43599  Progress:  7300 on 43599  Progress:  7301 on 43599  Progress:  7302 on 43599  Progress:  7303 on 43599  Progress:  7304 on 43599  Progress:  7305 on 43599  Progress:  7306 on 43599  Progress:  7307 on 43599  Progress:  7308 on 43599  Progress:  7309 on 43599  Progress:  7310 on 43599  Progress:  7311 on 43599  Progress:  7312 on 43599  Progress:  7313 on 43599  Progress:  7314 on 43599  Progress:  7315 on 43599  Progress:  7316 on 43599  Progress:  7317 on 43599  Progress:  7318 on 43599  Progress:  7319 on 43599  Progress:  7320 on 43599  Progress:  7321 on 43599  Progress:  7322 on 43599  Progress:  7323 on 43599  Progress:  7324 on 43599  Progress:  7325 on 43599  Progress:  7326 on 43599  Progress:  7327 on 43599  Progress:  7328 on 43599  Progress:  7329 on 43599  Progress:  7330 on 43599  Progress:  7331 on 43599  Progress:  7332 on 43599  Progress:  7333 on 43599  Progress:  7334 on 43599  Progress:  7335 on 43599  Progress:  7336 on 43599  Progress:  7337 on 43599  Progress:  7338 on 43599  Progress:  7339 on 43599  Progress:  7340 on 43599  Progress:  7341 on 43599  Progress:  7342 on 43599  Progress:  7343 on 43599  Progress:  7344 on 43599  Progress:  7345 on 43599  Progress:  7346 on 43599  Progress:  7347 on 43599  Progress:  7348 on 43599  Progress:  7349 on 43599  Progress:  7350 on 43599  Progress:  7351 on 43599  Progress:  7352 on 43599  Progress:  7353 on 43599  Progress:  7354 on 43599  Progress:  7355 on 43599  Progress:  7356 on 43599  Progress:  7357 on 43599  Progress:  7358 on 43599  Progress:  7359 on 43599  Progress:  7360 on 43599  Progress:  7361 on 43599  Progress:  7362 on 43599  Progress:  7363 on 43599  Progress:  7364 on 43599  Progress:  7365 on 43599  Progress:  7366 on 43599  Progress:  7367 on 43599  Progress:  7368 on 43599  Progress:  7369 on 43599  Progress:  7370 on 43599  Progress:  7371 on 43599  Progress:  7372 on 43599  Progress:  7373 on 43599  Progress:  7374 on 43599  Progress:  7375 on 43599  Progress:  7376 on 43599  Progress:  7377 on 43599  Progress:  7378 on 43599  Progress:  7379 on 43599  Progress:  7380 on 43599  Progress:  7381 on 43599  Progress:  7382 on 43599  Progress:  7383 on 43599  Progress:  7384 on 43599  Progress:  7385 on 43599  Progress:  7386 on 43599  Progress:  7387 on 43599  Progress:  7388 on 43599  Progress:  7389 on 43599  Progress:  7390 on 43599  Progress:  7391 on 43599  Progress:  7392 on 43599  Progress:  7393 on 43599  Progress:  7394 on 43599  Progress:  7395 on 43599  Progress:  7396 on 43599  Progress:  7397 on 43599  Progress:  7398 on 43599  Progress:  7399 on 43599  Progress:  7400 on 43599  Progress:  7401 on 43599  Progress:  7402 on 43599  Progress:  7403 on 43599  Progress:  7404 on 43599  Progress:  7405 on 43599  Progress:  7406 on 43599  Progress:  7407 on 43599  Progress:  7408 on 43599  Progress:  7409 on 43599  Progress:  7410 on 43599  Progress:  7411 on 43599  Progress:  7412 on 43599  Progress:  7413 on 43599  Progress:  7414 on 43599  Progress:  7415 on 43599  Progress:  7416 on 43599  Progress:  7417 on 43599  Progress:  7418 on 43599  Progress:  7419 on 43599  Progress:  7420 on 43599  Progress:  7421 on 43599  Progress:  7422 on 43599  Progress:  7423 on 43599  Progress:  7424 on 43599  Progress:  7425 on 43599  Progress:  7426 on 43599  Progress:  7427 on 43599  Progress:  7428 on 43599  Progress:  7429 on 43599  Progress:  7430 on 43599  Progress:  7431 on 43599  Progress:  7432 on 43599  Progress:  7433 on 43599  Progress:  7434 on 43599  Progress:  7435 on 43599  Progress:  7436 on 43599  Progress:  7437 on 43599  Progress:  7438 on 43599  Progress:  7439 on 43599  Progress:  7440 on 43599  Progress:  7441 on 43599  Progress:  7442 on 43599  Progress:  7443 on 43599  Progress:  7444 on 43599  Progress:  7445 on 43599  Progress:  7446 on 43599  Progress:  7447 on 43599  Progress:  7448 on 43599  Progress:  7449 on 43599  Progress:  7450 on 43599  Progress:  7451 on 43599  Progress:  7452 on 43599  Progress:  7453 on 43599  Progress:  7454 on 43599  Progress:  7455 on 43599  Progress:  7456 on 43599  Progress:  7457 on 43599  Progress:  7458 on 43599  Progress:  7459 on 43599  Progress:  7460 on 43599  Progress:  7461 on 43599  Progress:  7462 on 43599  Progress:  7463 on 43599  Progress:  7464 on 43599  Progress:  7465 on 43599  Progress:  7466 on 43599  Progress:  7467 on 43599  Progress:  7468 on 43599  Progress:  7469 on 43599  Progress:  7470 on 43599  Progress:  7471 on 43599  Progress:  7472 on 43599  Progress:  7473 on 43599  Progress:  7474 on 43599  Progress:  7475 on 43599  Progress:  7476 on 43599  Progress:  7477 on 43599  Progress:  7478 on 43599  Progress:  7479 on 43599  Progress:  7480 on 43599  Progress:  7481 on 43599  Progress:  7482 on 43599  Progress:  7483 on 43599  Progress:  7484 on 43599  Progress:  7485 on 43599  Progress:  7486 on 43599  Progress:  7487 on 43599  Progress:  7488 on 43599  Progress:  7489 on 43599  Progress:  7490 on 43599  Progress:  7491 on 43599  Progress:  7492 on 43599  Progress:  7493 on 43599  Progress:  7494 on 43599  Progress:  7495 on 43599  Progress:  7496 on 43599  Progress:  7497 on 43599  Progress:  7498 on 43599  Progress:  7499 on 43599  Progress:  7500 on 43599  Progress:  7501 on 43599  Progress:  7502 on 43599  Progress:  7503 on 43599  Progress:  7504 on 43599  Progress:  7505 on 43599  Progress:  7506 on 43599  Progress:  7507 on 43599  Progress:  7508 on 43599  Progress:  7509 on 43599  Progress:  7510 on 43599  Progress:  7511 on 43599  Progress:  7512 on 43599  Progress:  7513 on 43599  Progress:  7514 on 43599  Progress:  7515 on 43599  Progress:  7516 on 43599  Progress:  7517 on 43599  Progress:  7518 on 43599  Progress:  7519 on 43599  Progress:  7520 on 43599  Progress:  7521 on 43599  Progress:  7522 on 43599  Progress:  7523 on 43599  Progress:  7524 on 43599  Progress:  7525 on 43599  Progress:  7526 on 43599  Progress:  7527 on 43599  Progress:  7528 on 43599  Progress:  7529 on 43599  Progress:  7530 on 43599  Progress:  7531 on 43599  Progress:  7532 on 43599  Progress:  7533 on 43599  Progress:  7534 on 43599  Progress:  7535 on 43599  Progress:  7536 on 43599  Progress:  7537 on 43599  Progress:  7538 on 43599  Progress:  7539 on 43599  Progress:  7540 on 43599  Progress:  7541 on 43599  Progress:  7542 on 43599  Progress:  7543 on 43599  Progress:  7544 on 43599  Progress:  7545 on 43599  Progress:  7546 on 43599  Progress:  7547 on 43599  Progress:  7548 on 43599  Progress:  7549 on 43599  Progress:  7550 on 43599  Progress:  7551 on 43599  Progress:  7552 on 43599  Progress:  7553 on 43599  Progress:  7554 on 43599  Progress:  7555 on 43599  Progress:  7556 on 43599  Progress:  7557 on 43599  Progress:  7558 on 43599  Progress:  7559 on 43599  Progress:  7560 on 43599  Progress:  7561 on 43599  Progress:  7562 on 43599  Progress:  7563 on 43599  Progress:  7564 on 43599  Progress:  7565 on 43599  Progress:  7566 on 43599  Progress:  7567 on 43599  Progress:  7568 on 43599  Progress:  7569 on 43599  Progress:  7570 on 43599  Progress:  7571 on 43599  Progress:  7572 on 43599  Progress:  7573 on 43599  Progress:  7574 on 43599  Progress:  7575 on 43599  Progress:  7576 on 43599  Progress:  7577 on 43599  Progress:  7578 on 43599  Progress:  7579 on 43599  Progress:  7580 on 43599  Progress:  7581 on 43599  Progress:  7582 on 43599  Progress:  7583 on 43599  Progress:  7584 on 43599  Progress:  7585 on 43599  Progress:  7586 on 43599  Progress:  7587 on 43599  Progress:  7588 on 43599  Progress:  7589 on 43599  Progress:  7590 on 43599  Progress:  7591 on 43599  Progress:  7592 on 43599  Progress:  7593 on 43599  Progress:  7594 on 43599  Progress:  7595 on 43599  Progress:  7596 on 43599  Progress:  7597 on 43599  Progress:  7598 on 43599  Progress:  7599 on 43599  Progress:  7600 on 43599  Progress:  7601 on 43599  Progress:  7602 on 43599  Progress:  7603 on 43599  Progress:  7604 on 43599  Progress:  7605 on 43599  Progress:  7606 on 43599  Progress:  7607 on 43599  Progress:  7608 on 43599  Progress:  7609 on 43599  Progress:  7610 on 43599  Progress:  7611 on 43599  Progress:  7612 on 43599  Progress:  7613 on 43599  Progress:  7614 on 43599  Progress:  7615 on 43599  Progress:  7616 on 43599  Progress:  7617 on 43599  Progress:  7618 on 43599  Progress:  7619 on 43599  Progress:  7620 on 43599  Progress:  7621 on 43599  Progress:  7622 on 43599  Progress:  7623 on 43599  Progress:  7624 on 43599  Progress:  7625 on 43599  Progress:  7626 on 43599  Progress:  7627 on 43599  Progress:  7628 on 43599  Progress:  7629 on 43599  Progress:  7630 on 43599  Progress:  7631 on 43599  Progress:  7632 on 43599  Progress:  7633 on 43599  Progress:  7634 on 43599  Progress:  7635 on 43599  Progress:  7636 on 43599  Progress:  7637 on 43599  Progress:  7638 on 43599  Progress:  7639 on 43599  Progress:  7640 on 43599  Progress:  7641 on 43599  Progress:  7642 on 43599  Progress:  7643 on 43599  Progress:  7644 on 43599  Progress:  7645 on 43599  Progress:  7646 on 43599  Progress:  7647 on 43599  Progress:  7648 on 43599  Progress:  7649 on 43599  Progress:  7650 on 43599  Progress:  7651 on 43599  Progress:  7652 on 43599  Progress:  7653 on 43599  Progress:  7654 on 43599  Progress:  7655 on 43599  Progress:  7656 on 43599  Progress:  7657 on 43599  Progress:  7658 on 43599  Progress:  7659 on 43599  Progress:  7660 on 43599  Progress:  7661 on 43599  Progress:  7662 on 43599  Progress:  7663 on 43599  Progress:  7664 on 43599  Progress:  7665 on 43599  Progress:  7666 on 43599  Progress:  7667 on 43599  Progress:  7668 on 43599  Progress:  7669 on 43599  Progress:  7670 on 43599  Progress:  7671 on 43599  Progress:  7672 on 43599  Progress:  7673 on 43599  Progress:  7674 on 43599  Progress:  7675 on 43599  Progress:  7676 on 43599  Progress:  7677 on 43599  Progress:  7678 on 43599  Progress:  7679 on 43599  Progress:  7680 on 43599  Progress:  7681 on 43599  Progress:  7682 on 43599  Progress:  7683 on 43599  Progress:  7684 on 43599  Progress:  7685 on 43599  Progress:  7686 on 43599  Progress:  7687 on 43599  Progress:  7688 on 43599  Progress:  7689 on 43599  Progress:  7690 on 43599  Progress:  7691 on 43599  Progress:  7692 on 43599  Progress:  7693 on 43599  Progress:  7694 on 43599  Progress:  7695 on 43599  Progress:  7696 on 43599  Progress:  7697 on 43599  Progress:  7698 on 43599  Progress:  7699 on 43599  Progress:  7700 on 43599  Progress:  7701 on 43599  Progress:  7702 on 43599  Progress:  7703 on 43599  Progress:  7704 on 43599  Progress:  7705 on 43599  Progress:  7706 on 43599  Progress:  7707 on 43599  Progress:  7708 on 43599  Progress:  7709 on 43599  Progress:  7710 on 43599  Progress:  7711 on 43599  Progress:  7712 on 43599  Progress:  7713 on 43599  Progress:  7714 on 43599  Progress:  7715 on 43599  Progress:  7716 on 43599  Progress:  7717 on 43599  Progress:  7718 on 43599  Progress:  7719 on 43599  Progress:  7720 on 43599  Progress:  7721 on 43599  Progress:  7722 on 43599  Progress:  7723 on 43599  Progress:  7724 on 43599  Progress:  7725 on 43599  Progress:  7726 on 43599  Progress:  7727 on 43599  Progress:  7728 on 43599  Progress:  7729 on 43599  Progress:  7730 on 43599  Progress:  7731 on 43599  Progress:  7732 on 43599  Progress:  7733 on 43599  Progress:  7734 on 43599  Progress:  7735 on 43599  Progress:  7736 on 43599  Progress:  7737 on 43599  Progress:  7738 on 43599  Progress:  7739 on 43599  Progress:  7740 on 43599  Progress:  7741 on 43599  Progress:  7742 on 43599  Progress:  7743 on 43599  Progress:  7744 on 43599  Progress:  7745 on 43599  Progress:  7746 on 43599  Progress:  7747 on 43599  Progress:  7748 on 43599  Progress:  7749 on 43599  Progress:  7750 on 43599  Progress:  7751 on 43599  Progress:  7752 on 43599  Progress:  7753 on 43599  Progress:  7754 on 43599  Progress:  7755 on 43599  Progress:  7756 on 43599  Progress:  7757 on 43599  Progress:  7758 on 43599  Progress:  7759 on 43599  Progress:  7760 on 43599  Progress:  7761 on 43599  Progress:  7762 on 43599  Progress:  7763 on 43599  Progress:  7764 on 43599  Progress:  7765 on 43599  Progress:  7766 on 43599  Progress:  7767 on 43599  Progress:  7768 on 43599  Progress:  7769 on 43599  Progress:  7770 on 43599  Progress:  7771 on 43599  Progress:  7772 on 43599  Progress:  7773 on 43599  Progress:  7774 on 43599  Progress:  7775 on 43599  Progress:  7776 on 43599  Progress:  7777 on 43599  Progress:  7778 on 43599  Progress:  7779 on 43599  Progress:  7780 on 43599  Progress:  7781 on 43599  Progress:  7782 on 43599  Progress:  7783 on 43599  Progress:  7784 on 43599  Progress:  7785 on 43599  Progress:  7786 on 43599  Progress:  7787 on 43599  Progress:  7788 on 43599  Progress:  7789 on 43599  Progress:  7790 on 43599  Progress:  7791 on 43599  Progress:  7792 on 43599  Progress:  7793 on 43599  Progress:  7794 on 43599  Progress:  7795 on 43599  Progress:  7796 on 43599  Progress:  7797 on 43599  Progress:  7798 on 43599  Progress:  7799 on 43599  Progress:  7800 on 43599  Progress:  7801 on 43599  Progress:  7802 on 43599  Progress:  7803 on 43599  Progress:  7804 on 43599  Progress:  7805 on 43599  Progress:  7806 on 43599  Progress:  7807 on 43599  Progress:  7808 on 43599  Progress:  7809 on 43599  Progress:  7810 on 43599  Progress:  7811 on 43599  Progress:  7812 on 43599  Progress:  7813 on 43599  Progress:  7814 on 43599  Progress:  7815 on 43599  Progress:  7816 on 43599  Progress:  7817 on 43599  Progress:  7818 on 43599  Progress:  7819 on 43599  Progress:  7820 on 43599  Progress:  7821 on 43599  Progress:  7822 on 43599  Progress:  7823 on 43599  Progress:  7824 on 43599  Progress:  7825 on 43599  Progress:  7826 on 43599  Progress:  7827 on 43599  Progress:  7828 on 43599  Progress:  7829 on 43599  Progress:  7830 on 43599  Progress:  7831 on 43599  Progress:  7832 on 43599  Progress:  7833 on 43599  Progress:  7834 on 43599  Progress:  7835 on 43599  Progress:  7836 on 43599  Progress:  7837 on 43599  Progress:  7838 on 43599  Progress:  7839 on 43599  Progress:  7840 on 43599  Progress:  7841 on 43599  Progress:  7842 on 43599  Progress:  7843 on 43599  Progress:  7844 on 43599  Progress:  7845 on 43599  Progress:  7846 on 43599  Progress:  7847 on 43599  Progress:  7848 on 43599  Progress:  7849 on 43599  Progress:  7850 on 43599  Progress:  7851 on 43599  Progress:  7852 on 43599  Progress:  7853 on 43599  Progress:  7854 on 43599  Progress:  7855 on 43599  Progress:  7856 on 43599  Progress:  7857 on 43599  Progress:  7858 on 43599  Progress:  7859 on 43599  Progress:  7860 on 43599  Progress:  7861 on 43599  Progress:  7862 on 43599  Progress:  7863 on 43599  Progress:  7864 on 43599  Progress:  7865 on 43599  Progress:  7866 on 43599  Progress:  7867 on 43599  Progress:  7868 on 43599  Progress:  7869 on 43599  Progress:  7870 on 43599  Progress:  7871 on 43599  Progress:  7872 on 43599  Progress:  7873 on 43599  Progress:  7874 on 43599  Progress:  7875 on 43599  Progress:  7876 on 43599  Progress:  7877 on 43599  Progress:  7878 on 43599  Progress:  7879 on 43599  Progress:  7880 on 43599  Progress:  7881 on 43599  Progress:  7882 on 43599  Progress:  7883 on 43599  Progress:  7884 on 43599  Progress:  7885 on 43599  Progress:  7886 on 43599  Progress:  7887 on 43599  Progress:  7888 on 43599  Progress:  7889 on 43599  Progress:  7890 on 43599  Progress:  7891 on 43599  Progress:  7892 on 43599  Progress:  7893 on 43599  Progress:  7894 on 43599  Progress:  7895 on 43599  Progress:  7896 on 43599  Progress:  7897 on 43599  Progress:  7898 on 43599  Progress:  7899 on 43599  Progress:  7900 on 43599  Progress:  7901 on 43599  Progress:  7902 on 43599  Progress:  7903 on 43599  Progress:  7904 on 43599  Progress:  7905 on 43599  Progress:  7906 on 43599  Progress:  7907 on 43599  Progress:  7908 on 43599  Progress:  7909 on 43599  Progress:  7910 on 43599  Progress:  7911 on 43599  Progress:  7912 on 43599  Progress:  7913 on 43599  Progress:  7914 on 43599  Progress:  7915 on 43599  Progress:  7916 on 43599  Progress:  7917 on 43599  Progress:  7918 on 43599  Progress:  7919 on 43599  Progress:  7920 on 43599  Progress:  7921 on 43599  Progress:  7922 on 43599  Progress:  7923 on 43599  Progress:  7924 on 43599  Progress:  7925 on 43599  Progress:  7926 on 43599  Progress:  7927 on 43599  Progress:  7928 on 43599  Progress:  7929 on 43599  Progress:  7930 on 43599  Progress:  7931 on 43599  Progress:  7932 on 43599  Progress:  7933 on 43599  Progress:  7934 on 43599  Progress:  7935 on 43599  Progress:  7936 on 43599  Progress:  7937 on 43599  Progress:  7938 on 43599  Progress:  7939 on 43599  Progress:  7940 on 43599  Progress:  7941 on 43599  Progress:  7942 on 43599  Progress:  7943 on 43599  Progress:  7944 on 43599  Progress:  7945 on 43599  Progress:  7946 on 43599  Progress:  7947 on 43599  Progress:  7948 on 43599  Progress:  7949 on 43599  Progress:  7950 on 43599  Progress:  7951 on 43599  Progress:  7952 on 43599  Progress:  7953 on 43599  Progress:  7954 on 43599  Progress:  7955 on 43599  Progress:  7956 on 43599  Progress:  7957 on 43599  Progress:  7958 on 43599  Progress:  7959 on 43599  Progress:  7960 on 43599  Progress:  7961 on 43599  Progress:  7962 on 43599  Progress:  7963 on 43599  Progress:  7964 on 43599  Progress:  7965 on 43599  Progress:  7966 on 43599  Progress:  7967 on 43599  Progress:  7968 on 43599  Progress:  7969 on 43599  Progress:  7970 on 43599  Progress:  7971 on 43599  Progress:  7972 on 43599  Progress:  7973 on 43599  Progress:  7974 on 43599  Progress:  7975 on 43599  Progress:  7976 on 43599  Progress:  7977 on 43599  Progress:  7978 on 43599  Progress:  7979 on 43599  Progress:  7980 on 43599  Progress:  7981 on 43599  Progress:  7982 on 43599  Progress:  7983 on 43599  Progress:  7984 on 43599  Progress:  7985 on 43599  Progress:  7986 on 43599  Progress:  7987 on 43599  Progress:  7988 on 43599  Progress:  7989 on 43599  Progress:  7990 on 43599  Progress:  7991 on 43599  Progress:  7992 on 43599  Progress:  7993 on 43599  Progress:  7994 on 43599  Progress:  7995 on 43599  Progress:  7996 on 43599  Progress:  7997 on 43599  Progress:  7998 on 43599  Progress:  7999 on 43599  Progress:  8000 on 43599  Progress:  8001 on 43599  Progress:  8002 on 43599  Progress:  8003 on 43599  Progress:  8004 on 43599  Progress:  8005 on 43599  Progress:  8006 on 43599  Progress:  8007 on 43599  Progress:  8008 on 43599  Progress:  8009 on 43599  Progress:  8010 on 43599  Progress:  8011 on 43599  Progress:  8012 on 43599  Progress:  8013 on 43599  Progress:  8014 on 43599  Progress:  8015 on 43599  Progress:  8016 on 43599  Progress:  8017 on 43599  Progress:  8018 on 43599  Progress:  8019 on 43599  Progress:  8020 on 43599  Progress:  8021 on 43599  Progress:  8022 on 43599  Progress:  8023 on 43599  Progress:  8024 on 43599  Progress:  8025 on 43599  Progress:  8026 on 43599  Progress:  8027 on 43599  Progress:  8028 on 43599  Progress:  8029 on 43599  Progress:  8030 on 43599  Progress:  8031 on 43599  Progress:  8032 on 43599  Progress:  8033 on 43599  Progress:  8034 on 43599  Progress:  8035 on 43599  Progress:  8036 on 43599  Progress:  8037 on 43599  Progress:  8038 on 43599  Progress:  8039 on 43599  Progress:  8040 on 43599  Progress:  8041 on 43599  Progress:  8042 on 43599  Progress:  8043 on 43599  Progress:  8044 on 43599  Progress:  8045 on 43599  Progress:  8046 on 43599  Progress:  8047 on 43599  Progress:  8048 on 43599  Progress:  8049 on 43599  Progress:  8050 on 43599  Progress:  8051 on 43599  Progress:  8052 on 43599  Progress:  8053 on 43599  Progress:  8054 on 43599  Progress:  8055 on 43599  Progress:  8056 on 43599  Progress:  8057 on 43599  Progress:  8058 on 43599  Progress:  8059 on 43599  Progress:  8060 on 43599  Progress:  8061 on 43599  Progress:  8062 on 43599  Progress:  8063 on 43599  Progress:  8064 on 43599  Progress:  8065 on 43599  Progress:  8066 on 43599  Progress:  8067 on 43599  Progress:  8068 on 43599  Progress:  8069 on 43599  Progress:  8070 on 43599  Progress:  8071 on 43599  Progress:  8072 on 43599  Progress:  8073 on 43599  Progress:  8074 on 43599  Progress:  8075 on 43599  Progress:  8076 on 43599  Progress:  8077 on 43599  Progress:  8078 on 43599  Progress:  8079 on 43599  Progress:  8080 on 43599  Progress:  8081 on 43599  Progress:  8082 on 43599  Progress:  8083 on 43599  Progress:  8084 on 43599  Progress:  8085 on 43599  Progress:  8086 on 43599  Progress:  8087 on 43599  Progress:  8088 on 43599  Progress:  8089 on 43599  Progress:  8090 on 43599  Progress:  8091 on 43599  Progress:  8092 on 43599  Progress:  8093 on 43599  Progress:  8094 on 43599  Progress:  8095 on 43599  Progress:  8096 on 43599  Progress:  8097 on 43599  Progress:  8098 on 43599  Progress:  8099 on 43599  Progress:  8100 on 43599  Progress:  8101 on 43599  Progress:  8102 on 43599  Progress:  8103 on 43599  Progress:  8104 on 43599  Progress:  8105 on 43599  Progress:  8106 on 43599  Progress:  8107 on 43599  Progress:  8108 on 43599  Progress:  8109 on 43599  Progress:  8110 on 43599  Progress:  8111 on 43599  Progress:  8112 on 43599  Progress:  8113 on 43599  Progress:  8114 on 43599  Progress:  8115 on 43599  Progress:  8116 on 43599  Progress:  8117 on 43599  Progress:  8118 on 43599  Progress:  8119 on 43599  Progress:  8120 on 43599  Progress:  8121 on 43599  Progress:  8122 on 43599  Progress:  8123 on 43599  Progress:  8124 on 43599  Progress:  8125 on 43599  Progress:  8126 on 43599  Progress:  8127 on 43599  Progress:  8128 on 43599  Progress:  8129 on 43599  Progress:  8130 on 43599  Progress:  8131 on 43599  Progress:  8132 on 43599  Progress:  8133 on 43599  Progress:  8134 on 43599  Progress:  8135 on 43599  Progress:  8136 on 43599  Progress:  8137 on 43599  Progress:  8138 on 43599  Progress:  8139 on 43599  Progress:  8140 on 43599  Progress:  8141 on 43599  Progress:  8142 on 43599  Progress:  8143 on 43599  Progress:  8144 on 43599  Progress:  8145 on 43599  Progress:  8146 on 43599  Progress:  8147 on 43599  Progress:  8148 on 43599  Progress:  8149 on 43599  Progress:  8150 on 43599  Progress:  8151 on 43599  Progress:  8152 on 43599  Progress:  8153 on 43599  Progress:  8154 on 43599  Progress:  8155 on 43599  Progress:  8156 on 43599  Progress:  8157 on 43599  Progress:  8158 on 43599  Progress:  8159 on 43599  Progress:  8160 on 43599  Progress:  8161 on 43599  Progress:  8162 on 43599  Progress:  8163 on 43599  Progress:  8164 on 43599  Progress:  8165 on 43599  Progress:  8166 on 43599  Progress:  8167 on 43599  Progress:  8168 on 43599  Progress:  8169 on 43599  Progress:  8170 on 43599  Progress:  8171 on 43599  Progress:  8172 on 43599  Progress:  8173 on 43599  Progress:  8174 on 43599  Progress:  8175 on 43599  Progress:  8176 on 43599  Progress:  8177 on 43599  Progress:  8178 on 43599  Progress:  8179 on 43599  Progress:  8180 on 43599  Progress:  8181 on 43599  Progress:  8182 on 43599  Progress:  8183 on 43599  Progress:  8184 on 43599  Progress:  8185 on 43599  Progress:  8186 on 43599  Progress:  8187 on 43599  Progress:  8188 on 43599  Progress:  8189 on 43599  Progress:  8190 on 43599  Progress:  8191 on 43599  Progress:  8192 on 43599  Progress:  8193 on 43599  Progress:  8194 on 43599  Progress:  8195 on 43599  Progress:  8196 on 43599  Progress:  8197 on 43599  Progress:  8198 on 43599  Progress:  8199 on 43599  Progress:  8200 on 43599  Progress:  8201 on 43599  Progress:  8202 on 43599  Progress:  8203 on 43599  Progress:  8204 on 43599  Progress:  8205 on 43599  Progress:  8206 on 43599  Progress:  8207 on 43599  Progress:  8208 on 43599  Progress:  8209 on 43599  Progress:  8210 on 43599  Progress:  8211 on 43599  Progress:  8212 on 43599  Progress:  8213 on 43599  Progress:  8214 on 43599  Progress:  8215 on 43599  Progress:  8216 on 43599  Progress:  8217 on 43599  Progress:  8218 on 43599  Progress:  8219 on 43599  Progress:  8220 on 43599  Progress:  8221 on 43599  Progress:  8222 on 43599  Progress:  8223 on 43599  Progress:  8224 on 43599  Progress:  8225 on 43599  Progress:  8226 on 43599  Progress:  8227 on 43599  Progress:  8228 on 43599  Progress:  8229 on 43599  Progress:  8230 on 43599  Progress:  8231 on 43599  Progress:  8232 on 43599  Progress:  8233 on 43599  Progress:  8234 on 43599  Progress:  8235 on 43599  Progress:  8236 on 43599  Progress:  8237 on 43599  Progress:  8238 on 43599  Progress:  8239 on 43599  Progress:  8240 on 43599  Progress:  8241 on 43599  Progress:  8242 on 43599  Progress:  8243 on 43599  Progress:  8244 on 43599  Progress:  8245 on 43599  Progress:  8246 on 43599  Progress:  8247 on 43599  Progress:  8248 on 43599  Progress:  8249 on 43599  Progress:  8250 on 43599  Progress:  8251 on 43599  Progress:  8252 on 43599  Progress:  8253 on 43599  Progress:  8254 on 43599  Progress:  8255 on 43599  Progress:  8256 on 43599  Progress:  8257 on 43599  Progress:  8258 on 43599  Progress:  8259 on 43599  Progress:  8260 on 43599  Progress:  8261 on 43599  Progress:  8262 on 43599  Progress:  8263 on 43599  Progress:  8264 on 43599  Progress:  8265 on 43599  Progress:  8266 on 43599  Progress:  8267 on 43599  Progress:  8268 on 43599  Progress:  8269 on 43599  Progress:  8270 on 43599  Progress:  8271 on 43599  Progress:  8272 on 43599  Progress:  8273 on 43599  Progress:  8274 on 43599  Progress:  8275 on 43599  Progress:  8276 on 43599  Progress:  8277 on 43599  Progress:  8278 on 43599  Progress:  8279 on 43599  Progress:  8280 on 43599  Progress:  8281 on 43599  Progress:  8282 on 43599  Progress:  8283 on 43599  Progress:  8284 on 43599  Progress:  8285 on 43599  Progress:  8286 on 43599  Progress:  8287 on 43599  Progress:  8288 on 43599  Progress:  8289 on 43599  Progress:  8290 on 43599  Progress:  8291 on 43599  Progress:  8292 on 43599  Progress:  8293 on 43599  Progress:  8294 on 43599  Progress:  8295 on 43599  Progress:  8296 on 43599  Progress:  8297 on 43599  Progress:  8298 on 43599  Progress:  8299 on 43599  Progress:  8300 on 43599  Progress:  8301 on 43599  Progress:  8302 on 43599  Progress:  8303 on 43599  Progress:  8304 on 43599  Progress:  8305 on 43599  Progress:  8306 on 43599  Progress:  8307 on 43599  Progress:  8308 on 43599  Progress:  8309 on 43599  Progress:  8310 on 43599  Progress:  8311 on 43599  Progress:  8312 on 43599  Progress:  8313 on 43599  Progress:  8314 on 43599  Progress:  8315 on 43599  Progress:  8316 on 43599  Progress:  8317 on 43599  Progress:  8318 on 43599  Progress:  8319 on 43599  Progress:  8320 on 43599  Progress:  8321 on 43599  Progress:  8322 on 43599  Progress:  8323 on 43599  Progress:  8324 on 43599  Progress:  8325 on 43599  Progress:  8326 on 43599  Progress:  8327 on 43599  Progress:  8328 on 43599  Progress:  8329 on 43599  Progress:  8330 on 43599  Progress:  8331 on 43599  Progress:  8332 on 43599  Progress:  8333 on 43599  Progress:  8334 on 43599  Progress:  8335 on 43599  Progress:  8336 on 43599  Progress:  8337 on 43599  Progress:  8338 on 43599  Progress:  8339 on 43599  Progress:  8340 on 43599  Progress:  8341 on 43599  Progress:  8342 on 43599  Progress:  8343 on 43599  Progress:  8344 on 43599  Progress:  8345 on 43599  Progress:  8346 on 43599  Progress:  8347 on 43599  Progress:  8348 on 43599  Progress:  8349 on 43599  Progress:  8350 on 43599  Progress:  8351 on 43599  Progress:  8352 on 43599  Progress:  8353 on 43599  Progress:  8354 on 43599  Progress:  8355 on 43599  Progress:  8356 on 43599  Progress:  8357 on 43599  Progress:  8358 on 43599  Progress:  8359 on 43599  Progress:  8360 on 43599  Progress:  8361 on 43599  Progress:  8362 on 43599  Progress:  8363 on 43599  Progress:  8364 on 43599  Progress:  8365 on 43599  Progress:  8366 on 43599  Progress:  8367 on 43599  Progress:  8368 on 43599  Progress:  8369 on 43599  Progress:  8370 on 43599  Progress:  8371 on 43599  Progress:  8372 on 43599  Progress:  8373 on 43599  Progress:  8374 on 43599  Progress:  8375 on 43599  Progress:  8376 on 43599  Progress:  8377 on 43599  Progress:  8378 on 43599  Progress:  8379 on 43599  Progress:  8380 on 43599  Progress:  8381 on 43599  Progress:  8382 on 43599  Progress:  8383 on 43599  Progress:  8384 on 43599  Progress:  8385 on 43599  Progress:  8386 on 43599  Progress:  8387 on 43599  Progress:  8388 on 43599  Progress:  8389 on 43599  Progress:  8390 on 43599  Progress:  8391 on 43599  Progress:  8392 on 43599  Progress:  8393 on 43599  Progress:  8394 on 43599  Progress:  8395 on 43599  Progress:  8396 on 43599  Progress:  8397 on 43599  Progress:  8398 on 43599  Progress:  8399 on 43599  Progress:  8400 on 43599  Progress:  8401 on 43599  Progress:  8402 on 43599  Progress:  8403 on 43599  Progress:  8404 on 43599  Progress:  8405 on 43599  Progress:  8406 on 43599  Progress:  8407 on 43599  Progress:  8408 on 43599  Progress:  8409 on 43599  Progress:  8410 on 43599  Progress:  8411 on 43599  Progress:  8412 on 43599  Progress:  8413 on 43599  Progress:  8414 on 43599  Progress:  8415 on 43599  Progress:  8416 on 43599  Progress:  8417 on 43599  Progress:  8418 on 43599  Progress:  8419 on 43599  Progress:  8420 on 43599  Progress:  8421 on 43599  Progress:  8422 on 43599  Progress:  8423 on 43599  Progress:  8424 on 43599  Progress:  8425 on 43599  Progress:  8426 on 43599  Progress:  8427 on 43599  Progress:  8428 on 43599  Progress:  8429 on 43599  Progress:  8430 on 43599  Progress:  8431 on 43599  Progress:  8432 on 43599  Progress:  8433 on 43599  Progress:  8434 on 43599  Progress:  8435 on 43599  Progress:  8436 on 43599  Progress:  8437 on 43599  Progress:  8438 on 43599  Progress:  8439 on 43599  Progress:  8440 on 43599  Progress:  8441 on 43599  Progress:  8442 on 43599  Progress:  8443 on 43599  Progress:  8444 on 43599  Progress:  8445 on 43599  Progress:  8446 on 43599  Progress:  8447 on 43599  Progress:  8448 on 43599  Progress:  8449 on 43599  Progress:  8450 on 43599  Progress:  8451 on 43599  Progress:  8452 on 43599  Progress:  8453 on 43599  Progress:  8454 on 43599  Progress:  8455 on 43599  Progress:  8456 on 43599  Progress:  8457 on 43599  Progress:  8458 on 43599  Progress:  8459 on 43599  Progress:  8460 on 43599  Progress:  8461 on 43599  Progress:  8462 on 43599  Progress:  8463 on 43599  Progress:  8464 on 43599  Progress:  8465 on 43599  Progress:  8466 on 43599  Progress:  8467 on 43599  Progress:  8468 on 43599  Progress:  8469 on 43599  Progress:  8470 on 43599  Progress:  8471 on 43599  Progress:  8472 on 43599  Progress:  8473 on 43599  Progress:  8474 on 43599  Progress:  8475 on 43599  Progress:  8476 on 43599  Progress:  8477 on 43599  Progress:  8478 on 43599  Progress:  8479 on 43599  Progress:  8480 on 43599  Progress:  8481 on 43599  Progress:  8482 on 43599  Progress:  8483 on 43599  Progress:  8484 on 43599  Progress:  8485 on 43599  Progress:  8486 on 43599  Progress:  8487 on 43599  Progress:  8488 on 43599  Progress:  8489 on 43599  Progress:  8490 on 43599  Progress:  8491 on 43599  Progress:  8492 on 43599  Progress:  8493 on 43599  Progress:  8494 on 43599  Progress:  8495 on 43599  Progress:  8496 on 43599  Progress:  8497 on 43599  Progress:  8498 on 43599  Progress:  8499 on 43599  Progress:  8500 on 43599  Progress:  8501 on 43599  Progress:  8502 on 43599  Progress:  8503 on 43599  Progress:  8504 on 43599  Progress:  8505 on 43599  Progress:  8506 on 43599  Progress:  8507 on 43599  Progress:  8508 on 43599  Progress:  8509 on 43599  Progress:  8510 on 43599  Progress:  8511 on 43599  Progress:  8512 on 43599  Progress:  8513 on 43599  Progress:  8514 on 43599  Progress:  8515 on 43599  Progress:  8516 on 43599  Progress:  8517 on 43599  Progress:  8518 on 43599  Progress:  8519 on 43599  Progress:  8520 on 43599  Progress:  8521 on 43599  Progress:  8522 on 43599  Progress:  8523 on 43599  Progress:  8524 on 43599  Progress:  8525 on 43599  Progress:  8526 on 43599  Progress:  8527 on 43599  Progress:  8528 on 43599  Progress:  8529 on 43599  Progress:  8530 on 43599  Progress:  8531 on 43599  Progress:  8532 on 43599  Progress:  8533 on 43599  Progress:  8534 on 43599  Progress:  8535 on 43599  Progress:  8536 on 43599  Progress:  8537 on 43599  Progress:  8538 on 43599  Progress:  8539 on 43599  Progress:  8540 on 43599  Progress:  8541 on 43599  Progress:  8542 on 43599  Progress:  8543 on 43599  Progress:  8544 on 43599  Progress:  8545 on 43599  Progress:  8546 on 43599  Progress:  8547 on 43599  Progress:  8548 on 43599  Progress:  8549 on 43599  Progress:  8550 on 43599  Progress:  8551 on 43599  Progress:  8552 on 43599  Progress:  8553 on 43599  Progress:  8554 on 43599  Progress:  8555 on 43599  Progress:  8556 on 43599  Progress:  8557 on 43599  Progress:  8558 on 43599  Progress:  8559 on 43599  Progress:  8560 on 43599  Progress:  8561 on 43599  Progress:  8562 on 43599  Progress:  8563 on 43599  Progress:  8564 on 43599  Progress:  8565 on 43599  Progress:  8566 on 43599  Progress:  8567 on 43599  Progress:  8568 on 43599  Progress:  8569 on 43599  Progress:  8570 on 43599  Progress:  8571 on 43599  Progress:  8572 on 43599  Progress:  8573 on 43599  Progress:  8574 on 43599  Progress:  8575 on 43599  Progress:  8576 on 43599  Progress:  8577 on 43599  Progress:  8578 on 43599  Progress:  8579 on 43599  Progress:  8580 on 43599  Progress:  8581 on 43599  Progress:  8582 on 43599  Progress:  8583 on 43599  Progress:  8584 on 43599  Progress:  8585 on 43599  Progress:  8586 on 43599  Progress:  8587 on 43599  Progress:  8588 on 43599  Progress:  8589 on 43599  Progress:  8590 on 43599  Progress:  8591 on 43599  Progress:  8592 on 43599  Progress:  8593 on 43599  Progress:  8594 on 43599  Progress:  8595 on 43599  Progress:  8596 on 43599  Progress:  8597 on 43599  Progress:  8598 on 43599  Progress:  8599 on 43599  Progress:  8600 on 43599  Progress:  8601 on 43599  Progress:  8602 on 43599  Progress:  8603 on 43599  Progress:  8604 on 43599  Progress:  8605 on 43599  Progress:  8606 on 43599  Progress:  8607 on 43599  Progress:  8608 on 43599  Progress:  8609 on 43599  Progress:  8610 on 43599  Progress:  8611 on 43599  Progress:  8612 on 43599  Progress:  8613 on 43599  Progress:  8614 on 43599  Progress:  8615 on 43599  Progress:  8616 on 43599  Progress:  8617 on 43599  Progress:  8618 on 43599  Progress:  8619 on 43599  Progress:  8620 on 43599  Progress:  8621 on 43599  Progress:  8622 on 43599  Progress:  8623 on 43599  Progress:  8624 on 43599  Progress:  8625 on 43599  Progress:  8626 on 43599  Progress:  8627 on 43599  Progress:  8628 on 43599  Progress:  8629 on 43599  Progress:  8630 on 43599  Progress:  8631 on 43599  Progress:  8632 on 43599  Progress:  8633 on 43599  Progress:  8634 on 43599  Progress:  8635 on 43599  Progress:  8636 on 43599  Progress:  8637 on 43599  Progress:  8638 on 43599  Progress:  8639 on 43599  Progress:  8640 on 43599  Progress:  8641 on 43599  Progress:  8642 on 43599  Progress:  8643 on 43599  Progress:  8644 on 43599  Progress:  8645 on 43599  Progress:  8646 on 43599  Progress:  8647 on 43599  Progress:  8648 on 43599  Progress:  8649 on 43599  Progress:  8650 on 43599  Progress:  8651 on 43599  Progress:  8652 on 43599  Progress:  8653 on 43599  Progress:  8654 on 43599  Progress:  8655 on 43599  Progress:  8656 on 43599  Progress:  8657 on 43599  Progress:  8658 on 43599  Progress:  8659 on 43599  Progress:  8660 on 43599  Progress:  8661 on 43599  Progress:  8662 on 43599  Progress:  8663 on 43599  Progress:  8664 on 43599  Progress:  8665 on 43599  Progress:  8666 on 43599  Progress:  8667 on 43599  Progress:  8668 on 43599  Progress:  8669 on 43599  Progress:  8670 on 43599  Progress:  8671 on 43599  Progress:  8672 on 43599  Progress:  8673 on 43599  Progress:  8674 on 43599  Progress:  8675 on 43599  Progress:  8676 on 43599  Progress:  8677 on 43599  Progress:  8678 on 43599  Progress:  8679 on 43599  Progress:  8680 on 43599  Progress:  8681 on 43599  Progress:  8682 on 43599  Progress:  8683 on 43599  Progress:  8684 on 43599  Progress:  8685 on 43599  Progress:  8686 on 43599  Progress:  8687 on 43599  Progress:  8688 on 43599  Progress:  8689 on 43599  Progress:  8690 on 43599  Progress:  8691 on 43599  Progress:  8692 on 43599  Progress:  8693 on 43599  Progress:  8694 on 43599  Progress:  8695 on 43599  Progress:  8696 on 43599  Progress:  8697 on 43599  Progress:  8698 on 43599  Progress:  8699 on 43599  Progress:  8700 on 43599  Progress:  8701 on 43599  Progress:  8702 on 43599  Progress:  8703 on 43599  Progress:  8704 on 43599  Progress:  8705 on 43599  Progress:  8706 on 43599  Progress:  8707 on 43599  Progress:  8708 on 43599  Progress:  8709 on 43599  Progress:  8710 on 43599  Progress:  8711 on 43599  Progress:  8712 on 43599  Progress:  8713 on 43599  Progress:  8714 on 43599  Progress:  8715 on 43599  Progress:  8716 on 43599  Progress:  8717 on 43599  Progress:  8718 on 43599  Progress:  8719 on 43599  Progress:  8720 on 43599  Progress:  8721 on 43599  Progress:  8722 on 43599  Progress:  8723 on 43599  Progress:  8724 on 43599  Progress:  8725 on 43599  Progress:  8726 on 43599  Progress:  8727 on 43599  Progress:  8728 on 43599  Progress:  8729 on 43599  Progress:  8730 on 43599  Progress:  8731 on 43599  Progress:  8732 on 43599  Progress:  8733 on 43599  Progress:  8734 on 43599  Progress:  8735 on 43599  Progress:  8736 on 43599  Progress:  8737 on 43599  Progress:  8738 on 43599  Progress:  8739 on 43599  Progress:  8740 on 43599  Progress:  8741 on 43599  Progress:  8742 on 43599  Progress:  8743 on 43599  Progress:  8744 on 43599  Progress:  8745 on 43599  Progress:  8746 on 43599  Progress:  8747 on 43599  Progress:  8748 on 43599  Progress:  8749 on 43599  Progress:  8750 on 43599  Progress:  8751 on 43599  Progress:  8752 on 43599  Progress:  8753 on 43599  Progress:  8754 on 43599  Progress:  8755 on 43599  Progress:  8756 on 43599  Progress:  8757 on 43599  Progress:  8758 on 43599  Progress:  8759 on 43599  Progress:  8760 on 43599  Progress:  8761 on 43599  Progress:  8762 on 43599  Progress:  8763 on 43599  Progress:  8764 on 43599  Progress:  8765 on 43599  Progress:  8766 on 43599  Progress:  8767 on 43599  Progress:  8768 on 43599  Progress:  8769 on 43599  Progress:  8770 on 43599  Progress:  8771 on 43599  Progress:  8772 on 43599  Progress:  8773 on 43599  Progress:  8774 on 43599  Progress:  8775 on 43599  Progress:  8776 on 43599  Progress:  8777 on 43599  Progress:  8778 on 43599  Progress:  8779 on 43599  Progress:  8780 on 43599  Progress:  8781 on 43599  Progress:  8782 on 43599  Progress:  8783 on 43599  Progress:  8784 on 43599  Progress:  8785 on 43599  Progress:  8786 on 43599  Progress:  8787 on 43599  Progress:  8788 on 43599  Progress:  8789 on 43599  Progress:  8790 on 43599  Progress:  8791 on 43599  Progress:  8792 on 43599  Progress:  8793 on 43599  Progress:  8794 on 43599  Progress:  8795 on 43599  Progress:  8796 on 43599  Progress:  8797 on 43599  Progress:  8798 on 43599  Progress:  8799 on 43599  Progress:  8800 on 43599  Progress:  8801 on 43599  Progress:  8802 on 43599  Progress:  8803 on 43599  Progress:  8804 on 43599  Progress:  8805 on 43599  Progress:  8806 on 43599  Progress:  8807 on 43599  Progress:  8808 on 43599  Progress:  8809 on 43599  Progress:  8810 on 43599  Progress:  8811 on 43599  Progress:  8812 on 43599  Progress:  8813 on 43599  Progress:  8814 on 43599  Progress:  8815 on 43599  Progress:  8816 on 43599  Progress:  8817 on 43599  Progress:  8818 on 43599  Progress:  8819 on 43599  Progress:  8820 on 43599  Progress:  8821 on 43599  Progress:  8822 on 43599  Progress:  8823 on 43599  Progress:  8824 on 43599  Progress:  8825 on 43599  Progress:  8826 on 43599  Progress:  8827 on 43599  Progress:  8828 on 43599  Progress:  8829 on 43599  Progress:  8830 on 43599  Progress:  8831 on 43599  Progress:  8832 on 43599  Progress:  8833 on 43599  Progress:  8834 on 43599  Progress:  8835 on 43599  Progress:  8836 on 43599  Progress:  8837 on 43599  Progress:  8838 on 43599  Progress:  8839 on 43599  Progress:  8840 on 43599  Progress:  8841 on 43599  Progress:  8842 on 43599  Progress:  8843 on 43599  Progress:  8844 on 43599  Progress:  8845 on 43599  Progress:  8846 on 43599  Progress:  8847 on 43599  Progress:  8848 on 43599  Progress:  8849 on 43599  Progress:  8850 on 43599  Progress:  8851 on 43599  Progress:  8852 on 43599  Progress:  8853 on 43599  Progress:  8854 on 43599  Progress:  8855 on 43599  Progress:  8856 on 43599  Progress:  8857 on 43599  Progress:  8858 on 43599  Progress:  8859 on 43599  Progress:  8860 on 43599  Progress:  8861 on 43599  Progress:  8862 on 43599  Progress:  8863 on 43599  Progress:  8864 on 43599  Progress:  8865 on 43599  Progress:  8866 on 43599  Progress:  8867 on 43599  Progress:  8868 on 43599  Progress:  8869 on 43599  Progress:  8870 on 43599  Progress:  8871 on 43599  Progress:  8872 on 43599  Progress:  8873 on 43599  Progress:  8874 on 43599  Progress:  8875 on 43599  Progress:  8876 on 43599  Progress:  8877 on 43599  Progress:  8878 on 43599  Progress:  8879 on 43599  Progress:  8880 on 43599  Progress:  8881 on 43599  Progress:  8882 on 43599  Progress:  8883 on 43599  Progress:  8884 on 43599  Progress:  8885 on 43599  Progress:  8886 on 43599  Progress:  8887 on 43599  Progress:  8888 on 43599  Progress:  8889 on 43599  Progress:  8890 on 43599  Progress:  8891 on 43599  Progress:  8892 on 43599  Progress:  8893 on 43599  Progress:  8894 on 43599  Progress:  8895 on 43599  Progress:  8896 on 43599  Progress:  8897 on 43599  Progress:  8898 on 43599  Progress:  8899 on 43599  Progress:  8900 on 43599  Progress:  8901 on 43599  Progress:  8902 on 43599  Progress:  8903 on 43599  Progress:  8904 on 43599  Progress:  8905 on 43599  Progress:  8906 on 43599  Progress:  8907 on 43599  Progress:  8908 on 43599  Progress:  8909 on 43599  Progress:  8910 on 43599  Progress:  8911 on 43599  Progress:  8912 on 43599  Progress:  8913 on 43599  Progress:  8914 on 43599  Progress:  8915 on 43599  Progress:  8916 on 43599  Progress:  8917 on 43599  Progress:  8918 on 43599  Progress:  8919 on 43599  Progress:  8920 on 43599  Progress:  8921 on 43599  Progress:  8922 on 43599  Progress:  8923 on 43599  Progress:  8924 on 43599  Progress:  8925 on 43599  Progress:  8926 on 43599  Progress:  8927 on 43599  Progress:  8928 on 43599  Progress:  8929 on 43599  Progress:  8930 on 43599  Progress:  8931 on 43599  Progress:  8932 on 43599  Progress:  8933 on 43599  Progress:  8934 on 43599  Progress:  8935 on 43599  Progress:  8936 on 43599  Progress:  8937 on 43599  Progress:  8938 on 43599  Progress:  8939 on 43599  Progress:  8940 on 43599  Progress:  8941 on 43599  Progress:  8942 on 43599  Progress:  8943 on 43599  Progress:  8944 on 43599  Progress:  8945 on 43599  Progress:  8946 on 43599  Progress:  8947 on 43599  Progress:  8948 on 43599  Progress:  8949 on 43599  Progress:  8950 on 43599  Progress:  8951 on 43599  Progress:  8952 on 43599  Progress:  8953 on 43599  Progress:  8954 on 43599  Progress:  8955 on 43599  Progress:  8956 on 43599  Progress:  8957 on 43599  Progress:  8958 on 43599  Progress:  8959 on 43599  Progress:  8960 on 43599  Progress:  8961 on 43599  Progress:  8962 on 43599  Progress:  8963 on 43599  Progress:  8964 on 43599  Progress:  8965 on 43599  Progress:  8966 on 43599  Progress:  8967 on 43599  Progress:  8968 on 43599  Progress:  8969 on 43599  Progress:  8970 on 43599  Progress:  8971 on 43599  Progress:  8972 on 43599  Progress:  8973 on 43599  Progress:  8974 on 43599  Progress:  8975 on 43599  Progress:  8976 on 43599  Progress:  8977 on 43599  Progress:  8978 on 43599  Progress:  8979 on 43599  Progress:  8980 on 43599  Progress:  8981 on 43599  Progress:  8982 on 43599  Progress:  8983 on 43599  Progress:  8984 on 43599  Progress:  8985 on 43599  Progress:  8986 on 43599  Progress:  8987 on 43599  Progress:  8988 on 43599  Progress:  8989 on 43599  Progress:  8990 on 43599  Progress:  8991 on 43599  Progress:  8992 on 43599  Progress:  8993 on 43599  Progress:  8994 on 43599  Progress:  8995 on 43599  Progress:  8996 on 43599  Progress:  8997 on 43599  Progress:  8998 on 43599  Progress:  8999 on 43599  Progress:  9000 on 43599  Progress:  9001 on 43599  Progress:  9002 on 43599  Progress:  9003 on 43599  Progress:  9004 on 43599  Progress:  9005 on 43599  Progress:  9006 on 43599  Progress:  9007 on 43599  Progress:  9008 on 43599  Progress:  9009 on 43599  Progress:  9010 on 43599  Progress:  9011 on 43599  Progress:  9012 on 43599  Progress:  9013 on 43599  Progress:  9014 on 43599  Progress:  9015 on 43599  Progress:  9016 on 43599  Progress:  9017 on 43599  Progress:  9018 on 43599  Progress:  9019 on 43599  Progress:  9020 on 43599  Progress:  9021 on 43599  Progress:  9022 on 43599  Progress:  9023 on 43599  Progress:  9024 on 43599  Progress:  9025 on 43599  Progress:  9026 on 43599  Progress:  9027 on 43599  Progress:  9028 on 43599  Progress:  9029 on 43599  Progress:  9030 on 43599  Progress:  9031 on 43599  Progress:  9032 on 43599  Progress:  9033 on 43599  Progress:  9034 on 43599  Progress:  9035 on 43599  Progress:  9036 on 43599  Progress:  9037 on 43599  Progress:  9038 on 43599  Progress:  9039 on 43599  Progress:  9040 on 43599  Progress:  9041 on 43599  Progress:  9042 on 43599  Progress:  9043 on 43599  Progress:  9044 on 43599  Progress:  9045 on 43599  Progress:  9046 on 43599  Progress:  9047 on 43599  Progress:  9048 on 43599  Progress:  9049 on 43599  Progress:  9050 on 43599  Progress:  9051 on 43599  Progress:  9052 on 43599  Progress:  9053 on 43599  Progress:  9054 on 43599  Progress:  9055 on 43599  Progress:  9056 on 43599  Progress:  9057 on 43599  Progress:  9058 on 43599  Progress:  9059 on 43599  Progress:  9060 on 43599  Progress:  9061 on 43599  Progress:  9062 on 43599  Progress:  9063 on 43599  Progress:  9064 on 43599  Progress:  9065 on 43599  Progress:  9066 on 43599  Progress:  9067 on 43599  Progress:  9068 on 43599  Progress:  9069 on 43599  Progress:  9070 on 43599  Progress:  9071 on 43599  Progress:  9072 on 43599  Progress:  9073 on 43599  Progress:  9074 on 43599  Progress:  9075 on 43599  Progress:  9076 on 43599  Progress:  9077 on 43599  Progress:  9078 on 43599  Progress:  9079 on 43599  Progress:  9080 on 43599  Progress:  9081 on 43599  Progress:  9082 on 43599  Progress:  9083 on 43599  Progress:  9084 on 43599  Progress:  9085 on 43599  Progress:  9086 on 43599  Progress:  9087 on 43599  Progress:  9088 on 43599  Progress:  9089 on 43599  Progress:  9090 on 43599  Progress:  9091 on 43599  Progress:  9092 on 43599  Progress:  9093 on 43599  Progress:  9094 on 43599  Progress:  9095 on 43599  Progress:  9096 on 43599  Progress:  9097 on 43599  Progress:  9098 on 43599  Progress:  9099 on 43599  Progress:  9100 on 43599  Progress:  9101 on 43599  Progress:  9102 on 43599  Progress:  9103 on 43599  Progress:  9104 on 43599  Progress:  9105 on 43599  Progress:  9106 on 43599  Progress:  9107 on 43599  Progress:  9108 on 43599  Progress:  9109 on 43599  Progress:  9110 on 43599  Progress:  9111 on 43599  Progress:  9112 on 43599  Progress:  9113 on 43599  Progress:  9114 on 43599  Progress:  9115 on 43599  Progress:  9116 on 43599  Progress:  9117 on 43599  Progress:  9118 on 43599  Progress:  9119 on 43599  Progress:  9120 on 43599  Progress:  9121 on 43599  Progress:  9122 on 43599  Progress:  9123 on 43599  Progress:  9124 on 43599  Progress:  9125 on 43599  Progress:  9126 on 43599  Progress:  9127 on 43599  Progress:  9128 on 43599  Progress:  9129 on 43599  Progress:  9130 on 43599  Progress:  9131 on 43599  Progress:  9132 on 43599  Progress:  9133 on 43599  Progress:  9134 on 43599  Progress:  9135 on 43599  Progress:  9136 on 43599  Progress:  9137 on 43599  Progress:  9138 on 43599  Progress:  9139 on 43599  Progress:  9140 on 43599  Progress:  9141 on 43599  Progress:  9142 on 43599  Progress:  9143 on 43599  Progress:  9144 on 43599  Progress:  9145 on 43599  Progress:  9146 on 43599  Progress:  9147 on 43599  Progress:  9148 on 43599  Progress:  9149 on 43599  Progress:  9150 on 43599  Progress:  9151 on 43599  Progress:  9152 on 43599  Progress:  9153 on 43599  Progress:  9154 on 43599  Progress:  9155 on 43599  Progress:  9156 on 43599  Progress:  9157 on 43599  Progress:  9158 on 43599  Progress:  9159 on 43599  Progress:  9160 on 43599  Progress:  9161 on 43599  Progress:  9162 on 43599  Progress:  9163 on 43599  Progress:  9164 on 43599  Progress:  9165 on 43599  Progress:  9166 on 43599  Progress:  9167 on 43599  Progress:  9168 on 43599  Progress:  9169 on 43599  Progress:  9170 on 43599  Progress:  9171 on 43599  Progress:  9172 on 43599  Progress:  9173 on 43599  Progress:  9174 on 43599  Progress:  9175 on 43599  Progress:  9176 on 43599  Progress:  9177 on 43599  Progress:  9178 on 43599  Progress:  9179 on 43599  Progress:  9180 on 43599  Progress:  9181 on 43599  Progress:  9182 on 43599  Progress:  9183 on 43599  Progress:  9184 on 43599  Progress:  9185 on 43599  Progress:  9186 on 43599  Progress:  9187 on 43599  Progress:  9188 on 43599  Progress:  9189 on 43599  Progress:  9190 on 43599  Progress:  9191 on 43599  Progress:  9192 on 43599  Progress:  9193 on 43599  Progress:  9194 on 43599  Progress:  9195 on 43599  Progress:  9196 on 43599  Progress:  9197 on 43599  Progress:  9198 on 43599  Progress:  9199 on 43599  Progress:  9200 on 43599  Progress:  9201 on 43599  Progress:  9202 on 43599  Progress:  9203 on 43599  Progress:  9204 on 43599  Progress:  9205 on 43599  Progress:  9206 on 43599  Progress:  9207 on 43599  Progress:  9208 on 43599  Progress:  9209 on 43599  Progress:  9210 on 43599  Progress:  9211 on 43599  Progress:  9212 on 43599  Progress:  9213 on 43599  Progress:  9214 on 43599  Progress:  9215 on 43599  Progress:  9216 on 43599  Progress:  9217 on 43599  Progress:  9218 on 43599  Progress:  9219 on 43599  Progress:  9220 on 43599  Progress:  9221 on 43599  Progress:  9222 on 43599  Progress:  9223 on 43599  Progress:  9224 on 43599  Progress:  9225 on 43599  Progress:  9226 on 43599  Progress:  9227 on 43599  Progress:  9228 on 43599  Progress:  9229 on 43599  Progress:  9230 on 43599  Progress:  9231 on 43599  Progress:  9232 on 43599  Progress:  9233 on 43599  Progress:  9234 on 43599  Progress:  9235 on 43599  Progress:  9236 on 43599  Progress:  9237 on 43599  Progress:  9238 on 43599  Progress:  9239 on 43599  Progress:  9240 on 43599  Progress:  9241 on 43599  Progress:  9242 on 43599  Progress:  9243 on 43599  Progress:  9244 on 43599  Progress:  9245 on 43599  Progress:  9246 on 43599  Progress:  9247 on 43599  Progress:  9248 on 43599  Progress:  9249 on 43599  Progress:  9250 on 43599  Progress:  9251 on 43599  Progress:  9252 on 43599  Progress:  9253 on 43599  Progress:  9254 on 43599  Progress:  9255 on 43599  Progress:  9256 on 43599  Progress:  9257 on 43599  Progress:  9258 on 43599  Progress:  9259 on 43599  Progress:  9260 on 43599  Progress:  9261 on 43599  Progress:  9262 on 43599  Progress:  9263 on 43599  Progress:  9264 on 43599  Progress:  9265 on 43599  Progress:  9266 on 43599  Progress:  9267 on 43599  Progress:  9268 on 43599  Progress:  9269 on 43599  Progress:  9270 on 43599  Progress:  9271 on 43599  Progress:  9272 on 43599  Progress:  9273 on 43599  Progress:  9274 on 43599  Progress:  9275 on 43599  Progress:  9276 on 43599  Progress:  9277 on 43599  Progress:  9278 on 43599  Progress:  9279 on 43599  Progress:  9280 on 43599  Progress:  9281 on 43599  Progress:  9282 on 43599  Progress:  9283 on 43599  Progress:  9284 on 43599  Progress:  9285 on 43599  Progress:  9286 on 43599  Progress:  9287 on 43599  Progress:  9288 on 43599  Progress:  9289 on 43599  Progress:  9290 on 43599  Progress:  9291 on 43599  Progress:  9292 on 43599  Progress:  9293 on 43599  Progress:  9294 on 43599  Progress:  9295 on 43599  Progress:  9296 on 43599  Progress:  9297 on 43599  Progress:  9298 on 43599  Progress:  9299 on 43599  Progress:  9300 on 43599  Progress:  9301 on 43599  Progress:  9302 on 43599  Progress:  9303 on 43599  Progress:  9304 on 43599  Progress:  9305 on 43599  Progress:  9306 on 43599  Progress:  9307 on 43599  Progress:  9308 on 43599  Progress:  9309 on 43599  Progress:  9310 on 43599  Progress:  9311 on 43599  Progress:  9312 on 43599  Progress:  9313 on 43599  Progress:  9314 on 43599  Progress:  9315 on 43599  Progress:  9316 on 43599  Progress:  9317 on 43599  Progress:  9318 on 43599  Progress:  9319 on 43599  Progress:  9320 on 43599  Progress:  9321 on 43599  Progress:  9322 on 43599  Progress:  9323 on 43599  Progress:  9324 on 43599  Progress:  9325 on 43599  Progress:  9326 on 43599  Progress:  9327 on 43599  Progress:  9328 on 43599  Progress:  9329 on 43599  Progress:  9330 on 43599  Progress:  9331 on 43599  Progress:  9332 on 43599  Progress:  9333 on 43599  Progress:  9334 on 43599  Progress:  9335 on 43599  Progress:  9336 on 43599  Progress:  9337 on 43599  Progress:  9338 on 43599  Progress:  9339 on 43599  Progress:  9340 on 43599  Progress:  9341 on 43599  Progress:  9342 on 43599  Progress:  9343 on 43599  Progress:  9344 on 43599  Progress:  9345 on 43599  Progress:  9346 on 43599  Progress:  9347 on 43599  Progress:  9348 on 43599  Progress:  9349 on 43599  Progress:  9350 on 43599  Progress:  9351 on 43599  Progress:  9352 on 43599  Progress:  9353 on 43599  Progress:  9354 on 43599  Progress:  9355 on 43599  Progress:  9356 on 43599  Progress:  9357 on 43599  Progress:  9358 on 43599  Progress:  9359 on 43599  Progress:  9360 on 43599  Progress:  9361 on 43599  Progress:  9362 on 43599  Progress:  9363 on 43599  Progress:  9364 on 43599  Progress:  9365 on 43599  Progress:  9366 on 43599  Progress:  9367 on 43599  Progress:  9368 on 43599  Progress:  9369 on 43599  Progress:  9370 on 43599  Progress:  9371 on 43599  Progress:  9372 on 43599  Progress:  9373 on 43599  Progress:  9374 on 43599  Progress:  9375 on 43599  Progress:  9376 on 43599  Progress:  9377 on 43599  Progress:  9378 on 43599  Progress:  9379 on 43599  Progress:  9380 on 43599  Progress:  9381 on 43599  Progress:  9382 on 43599  Progress:  9383 on 43599  Progress:  9384 on 43599  Progress:  9385 on 43599  Progress:  9386 on 43599  Progress:  9387 on 43599  Progress:  9388 on 43599  Progress:  9389 on 43599  Progress:  9390 on 43599  Progress:  9391 on 43599  Progress:  9392 on 43599  Progress:  9393 on 43599  Progress:  9394 on 43599  Progress:  9395 on 43599  Progress:  9396 on 43599  Progress:  9397 on 43599  Progress:  9398 on 43599  Progress:  9399 on 43599  Progress:  9400 on 43599  Progress:  9401 on 43599  Progress:  9402 on 43599  Progress:  9403 on 43599  Progress:  9404 on 43599  Progress:  9405 on 43599  Progress:  9406 on 43599  Progress:  9407 on 43599  Progress:  9408 on 43599  Progress:  9409 on 43599  Progress:  9410 on 43599  Progress:  9411 on 43599  Progress:  9412 on 43599  Progress:  9413 on 43599  Progress:  9414 on 43599  Progress:  9415 on 43599  Progress:  9416 on 43599  Progress:  9417 on 43599  Progress:  9418 on 43599  Progress:  9419 on 43599  Progress:  9420 on 43599  Progress:  9421 on 43599  Progress:  9422 on 43599  Progress:  9423 on 43599  Progress:  9424 on 43599  Progress:  9425 on 43599  Progress:  9426 on 43599  Progress:  9427 on 43599  Progress:  9428 on 43599  Progress:  9429 on 43599  Progress:  9430 on 43599  Progress:  9431 on 43599  Progress:  9432 on 43599  Progress:  9433 on 43599  Progress:  9434 on 43599  Progress:  9435 on 43599  Progress:  9436 on 43599  Progress:  9437 on 43599  Progress:  9438 on 43599  Progress:  9439 on 43599  Progress:  9440 on 43599  Progress:  9441 on 43599  Progress:  9442 on 43599  Progress:  9443 on 43599  Progress:  9444 on 43599  Progress:  9445 on 43599  Progress:  9446 on 43599  Progress:  9447 on 43599  Progress:  9448 on 43599  Progress:  9449 on 43599  Progress:  9450 on 43599  Progress:  9451 on 43599  Progress:  9452 on 43599  Progress:  9453 on 43599  Progress:  9454 on 43599  Progress:  9455 on 43599  Progress:  9456 on 43599  Progress:  9457 on 43599  Progress:  9458 on 43599  Progress:  9459 on 43599  Progress:  9460 on 43599  Progress:  9461 on 43599  Progress:  9462 on 43599  Progress:  9463 on 43599  Progress:  9464 on 43599  Progress:  9465 on 43599  Progress:  9466 on 43599  Progress:  9467 on 43599  Progress:  9468 on 43599  Progress:  9469 on 43599  Progress:  9470 on 43599  Progress:  9471 on 43599  Progress:  9472 on 43599  Progress:  9473 on 43599  Progress:  9474 on 43599  Progress:  9475 on 43599  Progress:  9476 on 43599  Progress:  9477 on 43599  Progress:  9478 on 43599  Progress:  9479 on 43599  Progress:  9480 on 43599  Progress:  9481 on 43599  Progress:  9482 on 43599  Progress:  9483 on 43599  Progress:  9484 on 43599  Progress:  9485 on 43599  Progress:  9486 on 43599  Progress:  9487 on 43599  Progress:  9488 on 43599  Progress:  9489 on 43599  Progress:  9490 on 43599  Progress:  9491 on 43599  Progress:  9492 on 43599  Progress:  9493 on 43599  Progress:  9494 on 43599  Progress:  9495 on 43599  Progress:  9496 on 43599  Progress:  9497 on 43599  Progress:  9498 on 43599  Progress:  9499 on 43599  Progress:  9500 on 43599  Progress:  9501 on 43599  Progress:  9502 on 43599  Progress:  9503 on 43599  Progress:  9504 on 43599  Progress:  9505 on 43599  Progress:  9506 on 43599  Progress:  9507 on 43599  Progress:  9508 on 43599  Progress:  9509 on 43599  Progress:  9510 on 43599  Progress:  9511 on 43599  Progress:  9512 on 43599  Progress:  9513 on 43599  Progress:  9514 on 43599  Progress:  9515 on 43599  Progress:  9516 on 43599  Progress:  9517 on 43599  Progress:  9518 on 43599  Progress:  9519 on 43599  Progress:  9520 on 43599  Progress:  9521 on 43599  Progress:  9522 on 43599  Progress:  9523 on 43599  Progress:  9524 on 43599  Progress:  9525 on 43599  Progress:  9526 on 43599  Progress:  9527 on 43599  Progress:  9528 on 43599  Progress:  9529 on 43599  Progress:  9530 on 43599  Progress:  9531 on 43599  Progress:  9532 on 43599  Progress:  9533 on 43599  Progress:  9534 on 43599  Progress:  9535 on 43599  Progress:  9536 on 43599  Progress:  9537 on 43599  Progress:  9538 on 43599  Progress:  9539 on 43599  Progress:  9540 on 43599  Progress:  9541 on 43599  Progress:  9542 on 43599  Progress:  9543 on 43599  Progress:  9544 on 43599  Progress:  9545 on 43599  Progress:  9546 on 43599  Progress:  9547 on 43599  Progress:  9548 on 43599  Progress:  9549 on 43599  Progress:  9550 on 43599  Progress:  9551 on 43599  Progress:  9552 on 43599  Progress:  9553 on 43599  Progress:  9554 on 43599  Progress:  9555 on 43599  Progress:  9556 on 43599  Progress:  9557 on 43599  Progress:  9558 on 43599  Progress:  9559 on 43599  Progress:  9560 on 43599  Progress:  9561 on 43599  Progress:  9562 on 43599  Progress:  9563 on 43599  Progress:  9564 on 43599  Progress:  9565 on 43599  Progress:  9566 on 43599  Progress:  9567 on 43599  Progress:  9568 on 43599  Progress:  9569 on 43599  Progress:  9570 on 43599  Progress:  9571 on 43599  Progress:  9572 on 43599  Progress:  9573 on 43599  Progress:  9574 on 43599  Progress:  9575 on 43599  Progress:  9576 on 43599  Progress:  9577 on 43599  Progress:  9578 on 43599  Progress:  9579 on 43599  Progress:  9580 on 43599  Progress:  9581 on 43599  Progress:  9582 on 43599  Progress:  9583 on 43599  Progress:  9584 on 43599  Progress:  9585 on 43599  Progress:  9586 on 43599  Progress:  9587 on 43599  Progress:  9588 on 43599  Progress:  9589 on 43599  Progress:  9590 on 43599  Progress:  9591 on 43599  Progress:  9592 on 43599  Progress:  9593 on 43599  Progress:  9594 on 43599  Progress:  9595 on 43599  Progress:  9596 on 43599  Progress:  9597 on 43599  Progress:  9598 on 43599  Progress:  9599 on 43599  Progress:  9600 on 43599  Progress:  9601 on 43599  Progress:  9602 on 43599  Progress:  9603 on 43599  Progress:  9604 on 43599  Progress:  9605 on 43599  Progress:  9606 on 43599  Progress:  9607 on 43599  Progress:  9608 on 43599  Progress:  9609 on 43599  Progress:  9610 on 43599  Progress:  9611 on 43599  Progress:  9612 on 43599  Progress:  9613 on 43599  Progress:  9614 on 43599  Progress:  9615 on 43599  Progress:  9616 on 43599  Progress:  9617 on 43599  Progress:  9618 on 43599  Progress:  9619 on 43599  Progress:  9620 on 43599  Progress:  9621 on 43599  Progress:  9622 on 43599  Progress:  9623 on 43599  Progress:  9624 on 43599  Progress:  9625 on 43599  Progress:  9626 on 43599  Progress:  9627 on 43599  Progress:  9628 on 43599  Progress:  9629 on 43599  Progress:  9630 on 43599  Progress:  9631 on 43599  Progress:  9632 on 43599  Progress:  9633 on 43599  Progress:  9634 on 43599  Progress:  9635 on 43599  Progress:  9636 on 43599  Progress:  9637 on 43599  Progress:  9638 on 43599  Progress:  9639 on 43599  Progress:  9640 on 43599  Progress:  9641 on 43599  Progress:  9642 on 43599  Progress:  9643 on 43599  Progress:  9644 on 43599  Progress:  9645 on 43599  Progress:  9646 on 43599  Progress:  9647 on 43599  Progress:  9648 on 43599  Progress:  9649 on 43599  Progress:  9650 on 43599  Progress:  9651 on 43599  Progress:  9652 on 43599  Progress:  9653 on 43599  Progress:  9654 on 43599  Progress:  9655 on 43599  Progress:  9656 on 43599  Progress:  9657 on 43599  Progress:  9658 on 43599  Progress:  9659 on 43599  Progress:  9660 on 43599  Progress:  9661 on 43599  Progress:  9662 on 43599  Progress:  9663 on 43599  Progress:  9664 on 43599  Progress:  9665 on 43599  Progress:  9666 on 43599  Progress:  9667 on 43599  Progress:  9668 on 43599  Progress:  9669 on 43599  Progress:  9670 on 43599  Progress:  9671 on 43599  Progress:  9672 on 43599  Progress:  9673 on 43599  Progress:  9674 on 43599  Progress:  9675 on 43599  Progress:  9676 on 43599  Progress:  9677 on 43599  Progress:  9678 on 43599  Progress:  9679 on 43599  Progress:  9680 on 43599  Progress:  9681 on 43599  Progress:  9682 on 43599  Progress:  9683 on 43599  Progress:  9684 on 43599  Progress:  9685 on 43599  Progress:  9686 on 43599  Progress:  9687 on 43599  Progress:  9688 on 43599  Progress:  9689 on 43599  Progress:  9690 on 43599  Progress:  9691 on 43599  Progress:  9692 on 43599  Progress:  9693 on 43599  Progress:  9694 on 43599  Progress:  9695 on 43599  Progress:  9696 on 43599  Progress:  9697 on 43599  Progress:  9698 on 43599  Progress:  9699 on 43599  Progress:  9700 on 43599  Progress:  9701 on 43599  Progress:  9702 on 43599  Progress:  9703 on 43599  Progress:  9704 on 43599  Progress:  9705 on 43599  Progress:  9706 on 43599  Progress:  9707 on 43599  Progress:  9708 on 43599  Progress:  9709 on 43599  Progress:  9710 on 43599  Progress:  9711 on 43599  Progress:  9712 on 43599  Progress:  9713 on 43599  Progress:  9714 on 43599  Progress:  9715 on 43599  Progress:  9716 on 43599  Progress:  9717 on 43599  Progress:  9718 on 43599  Progress:  9719 on 43599  Progress:  9720 on 43599  Progress:  9721 on 43599  Progress:  9722 on 43599  Progress:  9723 on 43599  Progress:  9724 on 43599  Progress:  9725 on 43599  Progress:  9726 on 43599  Progress:  9727 on 43599  Progress:  9728 on 43599  Progress:  9729 on 43599  Progress:  9730 on 43599  Progress:  9731 on 43599  Progress:  9732 on 43599  Progress:  9733 on 43599  Progress:  9734 on 43599  Progress:  9735 on 43599  Progress:  9736 on 43599  Progress:  9737 on 43599  Progress:  9738 on 43599  Progress:  9739 on 43599  Progress:  9740 on 43599  Progress:  9741 on 43599  Progress:  9742 on 43599  Progress:  9743 on 43599  Progress:  9744 on 43599  Progress:  9745 on 43599  Progress:  9746 on 43599  Progress:  9747 on 43599  Progress:  9748 on 43599  Progress:  9749 on 43599  Progress:  9750 on 43599  Progress:  9751 on 43599  Progress:  9752 on 43599  Progress:  9753 on 43599  Progress:  9754 on 43599  Progress:  9755 on 43599  Progress:  9756 on 43599  Progress:  9757 on 43599  Progress:  9758 on 43599  Progress:  9759 on 43599  Progress:  9760 on 43599  Progress:  9761 on 43599  Progress:  9762 on 43599  Progress:  9763 on 43599  Progress:  9764 on 43599  Progress:  9765 on 43599  Progress:  9766 on 43599  Progress:  9767 on 43599  Progress:  9768 on 43599  Progress:  9769 on 43599  Progress:  9770 on 43599  Progress:  9771 on 43599  Progress:  9772 on 43599  Progress:  9773 on 43599  Progress:  9774 on 43599  Progress:  9775 on 43599  Progress:  9776 on 43599  Progress:  9777 on 43599  Progress:  9778 on 43599  Progress:  9779 on 43599  Progress:  9780 on 43599  Progress:  9781 on 43599  Progress:  9782 on 43599  Progress:  9783 on 43599  Progress:  9784 on 43599  Progress:  9785 on 43599  Progress:  9786 on 43599  Progress:  9787 on 43599  Progress:  9788 on 43599  Progress:  9789 on 43599  Progress:  9790 on 43599  Progress:  9791 on 43599  Progress:  9792 on 43599  Progress:  9793 on 43599  Progress:  9794 on 43599  Progress:  9795 on 43599  Progress:  9796 on 43599  Progress:  9797 on 43599  Progress:  9798 on 43599  Progress:  9799 on 43599  Progress:  9800 on 43599  Progress:  9801 on 43599  Progress:  9802 on 43599  Progress:  9803 on 43599  Progress:  9804 on 43599  Progress:  9805 on 43599  Progress:  9806 on 43599  Progress:  9807 on 43599  Progress:  9808 on 43599  Progress:  9809 on 43599  Progress:  9810 on 43599  Progress:  9811 on 43599  Progress:  9812 on 43599  Progress:  9813 on 43599  Progress:  9814 on 43599  Progress:  9815 on 43599  Progress:  9816 on 43599  Progress:  9817 on 43599  Progress:  9818 on 43599  Progress:  9819 on 43599  Progress:  9820 on 43599  Progress:  9821 on 43599  Progress:  9822 on 43599  Progress:  9823 on 43599  Progress:  9824 on 43599  Progress:  9825 on 43599  Progress:  9826 on 43599  Progress:  9827 on 43599  Progress:  9828 on 43599  Progress:  9829 on 43599  Progress:  9830 on 43599  Progress:  9831 on 43599  Progress:  9832 on 43599  Progress:  9833 on 43599  Progress:  9834 on 43599  Progress:  9835 on 43599  Progress:  9836 on 43599  Progress:  9837 on 43599  Progress:  9838 on 43599  Progress:  9839 on 43599  Progress:  9840 on 43599  Progress:  9841 on 43599  Progress:  9842 on 43599  Progress:  9843 on 43599  Progress:  9844 on 43599  Progress:  9845 on 43599  Progress:  9846 on 43599  Progress:  9847 on 43599  Progress:  9848 on 43599  Progress:  9849 on 43599  Progress:  9850 on 43599  Progress:  9851 on 43599  Progress:  9852 on 43599  Progress:  9853 on 43599  Progress:  9854 on 43599  Progress:  9855 on 43599  Progress:  9856 on 43599  Progress:  9857 on 43599  Progress:  9858 on 43599  Progress:  9859 on 43599  Progress:  9860 on 43599  Progress:  9861 on 43599  Progress:  9862 on 43599  Progress:  9863 on 43599  Progress:  9864 on 43599  Progress:  9865 on 43599  Progress:  9866 on 43599  Progress:  9867 on 43599  Progress:  9868 on 43599  Progress:  9869 on 43599  Progress:  9870 on 43599  Progress:  9871 on 43599  Progress:  9872 on 43599  Progress:  9873 on 43599  Progress:  9874 on 43599  Progress:  9875 on 43599  Progress:  9876 on 43599  Progress:  9877 on 43599  Progress:  9878 on 43599  Progress:  9879 on 43599  Progress:  9880 on 43599  Progress:  9881 on 43599  Progress:  9882 on 43599  Progress:  9883 on 43599  Progress:  9884 on 43599  Progress:  9885 on 43599  Progress:  9886 on 43599  Progress:  9887 on 43599  Progress:  9888 on 43599  Progress:  9889 on 43599  Progress:  9890 on 43599  Progress:  9891 on 43599  Progress:  9892 on 43599  Progress:  9893 on 43599  Progress:  9894 on 43599  Progress:  9895 on 43599  Progress:  9896 on 43599  Progress:  9897 on 43599  Progress:  9898 on 43599  Progress:  9899 on 43599  Progress:  9900 on 43599  Progress:  9901 on 43599  Progress:  9902 on 43599  Progress:  9903 on 43599  Progress:  9904 on 43599  Progress:  9905 on 43599  Progress:  9906 on 43599  Progress:  9907 on 43599  Progress:  9908 on 43599  Progress:  9909 on 43599  Progress:  9910 on 43599  Progress:  9911 on 43599  Progress:  9912 on 43599  Progress:  9913 on 43599  Progress:  9914 on 43599  Progress:  9915 on 43599  Progress:  9916 on 43599  Progress:  9917 on 43599  Progress:  9918 on 43599  Progress:  9919 on 43599  Progress:  9920 on 43599  Progress:  9921 on 43599  Progress:  9922 on 43599  Progress:  9923 on 43599  Progress:  9924 on 43599  Progress:  9925 on 43599  Progress:  9926 on 43599  Progress:  9927 on 43599  Progress:  9928 on 43599  Progress:  9929 on 43599  Progress:  9930 on 43599  Progress:  9931 on 43599  Progress:  9932 on 43599  Progress:  9933 on 43599  Progress:  9934 on 43599  Progress:  9935 on 43599  Progress:  9936 on 43599  Progress:  9937 on 43599  Progress:  9938 on 43599  Progress:  9939 on 43599  Progress:  9940 on 43599  Progress:  9941 on 43599  Progress:  9942 on 43599  Progress:  9943 on 43599  Progress:  9944 on 43599  Progress:  9945 on 43599  Progress:  9946 on 43599  Progress:  9947 on 43599  Progress:  9948 on 43599  Progress:  9949 on 43599  Progress:  9950 on 43599  Progress:  9951 on 43599  Progress:  9952 on 43599  Progress:  9953 on 43599  Progress:  9954 on 43599  Progress:  9955 on 43599  Progress:  9956 on 43599  Progress:  9957 on 43599  Progress:  9958 on 43599  Progress:  9959 on 43599  Progress:  9960 on 43599  Progress:  9961 on 43599  Progress:  9962 on 43599  Progress:  9963 on 43599  Progress:  9964 on 43599  Progress:  9965 on 43599  Progress:  9966 on 43599  Progress:  9967 on 43599  Progress:  9968 on 43599  Progress:  9969 on 43599  Progress:  9970 on 43599  Progress:  9971 on 43599  Progress:  9972 on 43599  Progress:  9973 on 43599  Progress:  9974 on 43599  Progress:  9975 on 43599  Progress:  9976 on 43599  Progress:  9977 on 43599  Progress:  9978 on 43599  Progress:  9979 on 43599  Progress:  9980 on 43599  Progress:  9981 on 43599  Progress:  9982 on 43599  Progress:  9983 on 43599  Progress:  9984 on 43599  Progress:  9985 on 43599  Progress:  9986 on 43599  Progress:  9987 on 43599  Progress:  9988 on 43599  Progress:  9989 on 43599  Progress:  9990 on 43599  Progress:  9991 on 43599  Progress:  9992 on 43599  Progress:  9993 on 43599  Progress:  9994 on 43599  Progress:  9995 on 43599  Progress:  9996 on 43599  Progress:  9997 on 43599  Progress:  9998 on 43599  Progress:  9999 on 43599  Progress: 1e+04 on 43599  Progress: 1e+04 on 43599  Progress: 1e+04 on 43599  Progress: 1e+04 on 43599  Progress: 1e+04 on 43599  Progress: 1e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.001e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.002e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.003e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.004e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.005e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.006e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.007e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.008e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.009e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.01e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.011e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.012e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.013e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.014e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.015e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.016e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.017e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.018e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.019e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.02e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.021e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.022e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.023e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.024e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.025e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.026e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.027e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.028e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.029e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.03e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.031e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.032e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.033e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.034e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.035e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.036e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.037e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.038e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.039e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.04e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.041e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.042e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.043e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.044e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.045e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.046e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.047e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.048e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.049e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.05e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.051e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.052e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.053e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.054e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.055e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.056e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.057e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.058e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.059e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.06e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.061e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.062e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.063e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.064e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.065e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.066e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.067e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.068e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.069e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.07e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.071e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.072e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.073e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.074e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.075e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.076e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.077e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.078e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.079e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.08e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.081e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.082e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.083e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.084e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.085e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.086e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.087e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.088e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.089e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.09e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.091e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.092e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.093e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.094e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.095e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.096e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.097e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.098e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.099e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.1e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.101e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.102e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.103e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.104e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.105e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.106e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.107e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.108e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.109e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.11e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.111e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.112e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.113e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.114e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.115e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.116e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.117e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.118e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.119e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.12e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.121e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.122e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.123e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.124e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.125e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.126e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.127e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.128e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.129e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.13e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.131e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.132e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.133e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.134e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.135e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.136e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.137e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.138e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.139e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.14e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.141e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.142e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.143e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.144e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.145e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.146e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.147e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.148e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.149e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.15e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.151e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.152e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.153e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.154e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.155e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.156e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.157e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.158e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.159e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.16e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.161e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.162e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.163e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.164e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.165e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.166e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.167e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.168e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.169e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.17e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.171e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.172e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.173e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.174e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.175e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.176e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.177e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.178e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.179e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.18e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.181e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.182e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.183e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.184e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.185e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.186e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.187e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.188e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.189e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.19e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.191e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.192e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.193e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.194e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.195e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.196e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.197e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.198e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.199e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.2e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.201e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.202e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.203e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.204e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.205e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.206e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.207e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.208e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.209e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.21e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.211e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.212e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.213e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.214e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.215e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.216e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.217e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.218e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.219e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.22e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.221e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.222e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.223e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.224e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.225e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.226e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.227e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.228e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.229e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.23e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.231e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.232e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.233e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.234e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.235e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.236e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.237e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.238e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.239e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.24e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.241e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.242e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.243e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.244e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.245e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.246e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.247e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.248e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.249e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.25e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.251e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.252e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.253e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.254e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.255e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.256e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.257e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.258e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.259e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.26e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.261e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.262e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.263e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.264e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.265e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.266e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.267e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.268e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.269e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.27e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.271e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.272e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.273e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.274e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.275e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.276e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.277e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.278e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.279e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.28e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.281e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.282e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.283e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.284e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.285e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.286e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.287e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.288e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.289e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.29e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.291e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.292e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.293e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.294e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.295e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.296e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.297e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.298e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.299e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.3e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.301e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.302e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.303e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.304e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.305e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.306e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.307e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.308e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.309e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.31e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.311e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.312e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.313e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.314e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.315e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.316e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.317e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.318e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.319e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.32e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.321e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.322e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.323e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.324e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.325e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.326e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.327e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.328e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.329e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.33e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.331e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.332e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.333e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.334e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.335e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.336e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.337e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.338e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.339e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.34e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.341e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.342e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.343e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.344e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.345e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.346e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.347e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.348e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.349e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.35e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.351e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.352e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.353e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.354e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.355e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.356e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.357e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.358e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.359e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.36e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.361e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.362e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.363e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.364e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.365e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.366e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.367e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.368e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.369e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.37e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.371e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.372e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.373e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.374e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.375e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.376e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.377e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.378e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.379e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.38e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.381e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.382e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.383e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.384e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.385e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.386e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.387e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.388e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.389e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.39e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.391e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.392e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.393e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.394e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.395e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.396e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.397e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.398e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.399e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.4e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.401e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.402e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.403e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.404e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.405e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.406e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.407e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.408e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.409e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.41e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.411e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.412e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.413e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.414e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.415e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.416e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.417e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.418e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.419e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.42e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.421e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.422e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.423e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.424e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.425e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.426e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.427e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.428e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.429e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.43e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.431e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.432e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.433e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.434e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.435e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.436e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.437e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.438e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.439e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.44e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.441e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.442e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.443e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.444e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.445e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.446e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.447e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.448e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.449e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.45e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.451e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.452e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.453e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.454e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.455e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.456e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.457e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.458e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.459e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.46e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.461e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.462e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.463e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.464e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.465e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.466e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.467e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.468e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.469e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.47e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.471e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.472e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.473e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.474e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.475e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.476e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.477e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.478e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.479e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.48e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.481e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.482e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.483e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.484e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.485e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.486e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.487e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.488e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.489e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.49e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.491e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.492e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.493e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.494e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.495e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.496e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.497e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.498e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.499e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.5e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.501e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.502e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.503e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.504e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.505e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.506e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.507e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.508e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.509e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.51e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.511e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.512e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.513e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.514e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.515e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.516e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.517e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.518e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.519e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.52e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.521e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.522e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.523e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.524e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.525e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.526e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.527e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.528e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.529e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.53e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.531e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.532e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.533e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.534e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.535e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.536e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.537e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.538e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.539e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.54e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.541e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.542e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.543e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.544e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.545e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.546e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.547e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.548e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.549e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.55e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.551e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.552e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.553e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.554e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.555e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.556e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.557e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.558e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.559e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.56e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.561e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.562e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.563e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.564e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.565e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.566e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.567e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.568e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.569e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.57e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.571e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.572e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.573e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.574e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.575e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.576e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.577e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.578e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.579e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.58e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.581e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.582e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.583e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.584e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.585e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.586e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.587e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.588e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.589e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.59e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.591e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.592e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.593e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.594e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.595e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.596e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.597e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.598e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.599e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.6e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.601e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.602e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.603e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.604e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.605e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.606e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.607e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.608e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.609e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.61e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.611e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.612e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.613e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.614e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.615e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.616e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.617e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.618e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.619e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.62e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.621e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.622e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.623e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.624e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.625e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.626e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.627e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.628e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.629e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.63e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.631e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.632e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.633e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.634e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.635e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.636e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.637e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.638e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.639e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.64e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.641e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.642e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.643e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.644e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.645e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.646e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.647e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.648e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.649e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.65e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.651e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.652e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.653e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.654e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.655e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.656e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.657e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.658e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.659e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.66e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.661e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.662e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.663e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.664e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.665e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.666e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.667e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.668e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.669e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.67e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.671e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.672e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.673e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.674e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.675e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.676e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.677e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.678e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.679e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.68e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.681e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.682e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.683e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.684e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.685e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.686e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.687e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.688e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.689e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.69e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.691e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.692e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.693e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.694e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.695e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.696e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.697e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.698e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.699e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.7e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.701e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.702e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.703e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.704e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.705e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.706e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.707e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.708e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.709e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.71e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.711e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.712e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.713e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.714e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.715e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.716e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.717e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.718e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.719e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.72e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.721e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.722e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.723e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.724e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.725e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.726e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.727e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.728e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.729e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.73e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.731e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.732e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.733e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.734e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.735e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.736e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.737e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.738e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.739e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.74e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.741e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.742e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.743e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.744e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.745e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.746e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.747e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.748e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.749e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.75e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.751e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.752e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.753e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.754e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.755e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.756e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.757e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.758e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.759e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.76e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.761e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.762e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.763e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.764e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.765e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.766e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.767e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.768e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.769e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.77e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.771e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.772e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.773e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.774e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.775e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.776e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.777e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.778e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.779e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.78e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.781e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.782e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.783e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.784e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.785e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.786e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.787e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.788e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.789e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.79e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.791e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.792e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.793e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.794e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.795e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.796e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.797e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.798e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.799e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.8e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.801e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.802e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.803e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.804e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.805e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.806e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.807e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.808e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.809e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.81e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.811e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.812e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.813e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.814e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.815e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.816e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.817e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.818e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.819e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.82e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.821e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.822e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.823e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.824e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.825e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.826e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.827e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.828e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.829e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.83e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.831e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.832e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.833e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.834e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.835e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.836e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.837e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.838e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.839e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.84e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.841e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.842e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.843e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.844e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.845e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.846e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.847e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.848e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.849e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.85e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.851e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.852e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.853e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.854e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.855e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.856e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.857e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.858e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.859e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.86e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.861e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.862e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.863e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.864e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.865e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.866e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.867e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.868e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.869e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.87e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.871e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.872e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.873e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.874e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.875e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.876e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.877e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.878e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.879e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.88e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.881e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.882e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.883e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.884e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.885e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.886e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.887e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.888e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.889e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.89e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.891e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.892e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.893e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.894e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.895e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.896e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.897e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.898e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.899e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.9e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.901e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.902e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.903e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.904e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.905e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.906e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.907e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.908e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.909e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.91e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.911e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.912e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.913e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.914e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.915e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.916e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.917e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.918e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.919e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.92e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.921e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.922e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.923e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.924e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.925e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.926e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.927e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.928e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.929e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.93e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.931e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.932e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.933e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.934e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.935e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.936e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.937e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.938e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.939e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.94e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.941e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.942e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.943e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.944e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.945e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.946e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.947e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.948e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.949e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.95e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.951e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.952e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.953e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.954e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.955e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.956e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.957e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.958e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.959e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.96e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.961e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.962e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.963e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.964e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.965e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.966e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.967e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.968e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.969e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.97e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.971e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.972e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.973e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.974e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.975e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.976e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.977e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.978e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.979e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.98e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.981e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.982e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.983e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.984e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.985e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.986e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.987e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.988e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.989e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.99e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.991e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.992e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.993e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.994e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.995e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.996e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.997e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.998e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 1.999e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.001e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.002e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.003e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.004e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.005e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.006e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.007e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.008e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.009e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.01e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.011e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.012e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.013e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.014e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.015e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.016e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.017e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.018e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.019e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.02e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.021e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.022e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.023e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.024e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.025e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.026e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.027e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.028e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.029e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.03e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.031e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.032e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.033e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.034e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.035e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.036e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.037e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.038e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.039e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.04e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.041e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.042e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.043e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.044e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.045e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.046e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.047e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.048e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.049e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.05e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.051e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.052e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.053e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.054e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.055e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.056e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.057e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.058e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.059e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.06e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.061e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.062e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.063e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.064e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.065e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.066e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.067e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.068e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.069e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.07e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.071e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.072e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.073e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.074e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.075e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.076e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.077e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.078e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.079e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.08e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.081e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.082e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.083e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.084e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.085e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.086e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.087e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.088e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.089e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.09e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.091e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.092e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.093e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.094e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.095e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.096e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.097e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.098e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.099e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.1e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.101e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.102e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.103e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.104e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.105e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.106e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.107e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.108e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.109e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.11e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.111e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.112e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.113e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.114e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.115e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.116e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.117e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.118e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.119e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.12e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.121e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.122e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.123e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.124e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.125e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.126e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.127e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.128e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.129e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.13e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.131e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.132e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.133e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.134e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.135e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.136e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.137e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.138e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.139e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.14e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.141e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.142e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.143e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.144e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.145e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.146e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.147e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.148e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.149e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.15e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.151e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.152e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.153e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.154e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.155e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.156e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.157e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.158e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.159e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.16e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.161e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.162e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.163e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.164e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.165e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.166e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.167e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.168e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.169e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.17e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.171e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.172e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.173e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.174e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.175e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.176e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.177e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.178e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.179e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.18e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.181e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.182e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.183e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.184e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.185e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.186e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.187e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.188e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.189e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.19e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.191e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.192e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.193e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.194e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.195e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.196e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.197e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.198e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.199e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.2e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.201e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.202e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.203e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.204e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.205e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.206e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.207e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.208e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.209e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.21e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.211e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.212e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.213e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.214e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.215e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.216e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.217e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.218e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.219e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.22e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.221e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.222e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.223e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.224e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.225e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.226e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.227e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.228e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.229e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.23e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.231e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.232e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.233e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.234e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.235e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.236e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.237e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.238e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.239e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.24e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.241e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.242e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.243e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.244e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.245e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.246e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.247e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.248e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.249e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.25e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.251e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.252e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.253e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.254e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.255e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.256e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.257e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.258e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.259e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.26e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.261e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.262e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.263e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.264e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.265e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.266e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.267e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.268e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.269e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.27e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.271e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.272e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.273e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.274e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.275e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.276e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.277e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.278e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.279e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.28e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.281e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.282e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.283e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.284e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.285e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.286e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.287e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.288e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.289e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.29e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.291e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.292e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.293e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.294e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.295e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.296e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.297e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.298e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.299e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.3e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.301e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.302e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.303e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.304e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.305e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.306e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.307e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.308e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.309e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.31e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.311e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.312e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.313e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.314e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.315e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.316e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.317e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.318e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.319e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.32e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.321e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.322e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.323e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.324e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.325e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.326e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.327e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.328e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.329e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.33e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.331e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.332e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.333e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.334e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.335e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.336e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.337e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.338e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.339e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.34e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.341e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.342e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.343e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.344e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.345e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.346e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.347e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.348e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.349e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.35e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.351e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.352e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.353e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.354e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.355e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.356e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.357e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.358e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.359e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.36e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.361e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.362e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.363e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.364e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.365e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.366e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.367e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.368e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.369e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.37e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.371e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.372e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.373e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.374e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.375e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.376e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.377e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.378e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.379e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.38e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.381e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.382e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.383e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.384e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.385e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.386e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.387e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.388e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.389e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.39e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.391e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.392e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.393e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.394e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.395e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.396e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.397e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.398e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.399e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.4e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.401e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.402e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.403e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.404e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.405e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.406e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.407e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.408e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.409e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.41e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.411e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.412e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.413e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.414e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.415e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.416e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.417e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.418e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.419e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.42e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.421e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.422e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.423e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.424e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.425e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.426e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.427e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.428e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.429e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.43e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.431e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.432e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.433e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.434e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.435e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.436e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.437e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.438e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.439e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.44e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.441e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.442e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.443e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.444e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.445e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.446e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.447e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.448e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.449e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.45e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.451e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.452e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.453e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.454e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.455e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.456e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.457e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.458e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.459e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.46e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.461e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.462e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.463e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.464e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.465e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.466e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.467e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.468e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.469e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.47e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.471e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.472e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.473e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.474e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.475e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.476e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.477e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.478e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.479e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.48e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.481e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.482e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.483e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.484e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.485e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.486e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.487e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.488e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.489e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.49e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.491e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.492e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.493e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.494e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.495e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.496e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.497e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.498e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.499e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.5e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.501e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.502e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.503e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.504e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.505e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.506e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.507e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.508e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.509e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.51e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.511e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.512e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.513e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.514e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.515e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.516e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.517e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.518e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.519e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.52e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.521e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.522e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.523e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.524e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.525e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.526e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.527e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.528e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.529e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.53e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.531e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.532e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.533e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.534e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.535e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.536e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.537e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.538e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.539e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.54e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.541e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.542e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.543e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.544e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.545e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.546e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.547e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.548e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.549e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.55e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.551e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.552e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.553e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.554e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.555e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.556e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.557e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.558e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.559e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.56e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.561e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.562e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.563e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.564e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.565e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.566e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.567e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.568e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.569e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.57e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.571e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.572e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.573e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.574e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.575e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.576e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.577e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.578e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.579e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.58e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.581e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.582e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.583e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.584e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.585e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.586e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.587e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.588e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.589e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.59e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.591e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.592e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.593e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.594e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.595e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.596e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.597e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.598e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.599e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.6e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.601e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.602e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.603e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.604e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.605e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.606e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.607e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.608e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.609e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.61e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.611e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.612e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.613e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.614e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.615e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.616e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.617e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.618e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.619e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.62e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.621e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.622e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.623e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.624e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.625e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.626e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.627e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.628e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.629e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.63e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.631e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.632e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.633e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.634e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.635e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.636e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.637e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.638e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.639e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.64e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.641e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.642e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.643e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.644e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.645e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.646e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.647e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.648e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.649e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.65e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.651e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.652e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.653e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.654e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.655e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.656e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.657e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.658e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.659e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.66e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.661e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.662e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.663e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.664e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.665e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.666e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.667e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.668e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.669e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.67e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.671e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.672e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.673e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.674e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.675e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.676e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.677e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.678e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.679e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.68e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.681e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.682e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.683e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.684e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.685e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.686e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.687e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.688e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.689e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.69e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.691e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.692e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.693e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.694e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.695e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.696e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.697e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.698e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.699e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.7e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.701e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.702e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.703e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.704e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.705e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.706e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.707e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.708e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.709e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.71e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.711e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.712e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.713e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.714e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.715e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.716e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.717e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.718e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.719e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.72e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.721e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.722e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.723e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.724e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.725e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.726e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.727e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.728e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.729e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.73e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.731e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.732e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.733e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.734e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.735e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.736e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.737e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.738e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.739e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.74e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.741e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.742e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.743e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.744e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.745e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.746e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.747e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.748e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.749e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.75e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.751e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.752e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.753e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.754e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.755e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.756e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.757e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.758e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.759e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.76e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.761e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.762e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.763e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.764e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.765e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.766e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.767e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.768e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.769e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.77e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.771e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.772e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.773e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.774e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.775e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.776e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.777e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.778e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.779e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.78e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.781e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.782e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.783e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.784e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.785e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.786e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.787e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.788e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.789e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.79e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.791e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.792e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.793e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.794e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.795e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.796e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.797e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.798e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.799e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.8e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.801e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.802e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.803e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.804e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.805e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.806e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.807e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.808e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.809e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.81e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.811e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.812e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.813e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.814e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.815e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.816e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.817e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.818e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.819e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.82e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.821e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.822e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.823e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.824e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.825e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.826e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.827e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.828e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.829e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.83e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.831e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.832e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.833e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.834e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.835e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.836e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.837e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.838e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.839e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.84e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.841e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.842e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.843e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.844e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.845e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.846e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.847e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.848e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.849e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.85e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.851e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.852e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.853e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.854e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.855e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.856e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.857e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.858e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.859e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.86e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.861e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.862e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.863e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.864e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.865e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.866e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.867e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.868e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.869e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.87e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.871e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.872e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.873e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.874e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.875e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.876e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.877e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.878e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.879e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.88e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.881e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.882e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.883e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.884e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.885e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.886e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.887e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.888e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.889e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.89e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.891e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.892e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.893e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.894e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.895e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.896e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.897e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.898e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.899e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.9e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.901e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.902e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.903e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.904e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.905e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.906e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.907e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.908e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.909e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.91e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.911e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.912e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.913e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.914e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.915e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.916e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.917e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.918e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.919e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.92e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.921e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.922e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.923e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.924e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.925e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.926e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.927e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.928e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.929e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.93e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.931e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.932e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.933e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.934e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.935e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.936e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.937e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.938e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.939e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.94e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.941e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.942e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.943e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.944e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.945e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.946e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.947e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.948e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.949e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.95e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.951e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.952e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.953e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.954e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.955e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.956e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.957e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.958e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.959e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.96e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.961e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.962e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.963e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.964e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.965e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.966e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.967e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.968e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.969e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.97e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.971e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.972e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.973e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.974e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.975e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.976e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.977e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.978e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.979e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.98e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.981e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.982e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.983e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.984e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.985e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.986e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.987e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.988e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.989e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.99e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.991e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.992e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.993e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.994e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.995e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.996e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.997e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.998e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 2.999e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.001e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.002e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.003e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.004e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.005e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.006e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.007e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.008e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.009e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.01e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.011e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.012e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.013e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.014e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.015e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.016e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.017e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.018e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.019e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.02e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.021e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.022e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.023e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.024e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.025e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.026e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.027e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.028e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.029e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.03e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.031e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.032e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.033e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.034e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.035e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.036e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.037e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.038e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.039e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.04e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.041e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.042e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.043e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.044e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.045e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.046e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.047e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.048e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.049e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.05e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.051e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.052e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.053e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.054e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.055e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.056e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.057e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.058e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.059e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.06e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.061e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.062e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.063e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.064e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.065e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.066e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.067e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.068e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.069e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.07e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.071e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.072e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.073e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.074e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.075e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.076e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.077e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.078e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.079e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.08e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.081e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.082e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.083e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.084e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.085e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.086e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.087e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.088e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.089e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.09e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.091e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.092e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.093e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.094e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.095e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.096e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.097e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.098e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.099e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.1e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.101e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.102e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.103e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.104e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.105e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.106e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.107e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.108e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.109e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.11e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.111e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.112e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.113e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.114e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.115e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.116e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.117e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.118e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.119e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.12e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.121e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.122e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.123e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.124e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.125e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.126e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.127e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.128e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.129e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.13e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.131e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.132e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.133e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.134e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.135e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.136e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.137e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.138e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.139e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.14e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.141e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.142e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.143e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.144e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.145e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.146e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.147e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.148e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.149e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.15e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.151e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.152e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.153e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.154e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.155e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.156e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.157e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.158e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.159e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.16e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.161e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.162e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.163e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.164e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.165e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.166e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.167e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.168e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.169e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.17e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.171e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.172e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.173e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.174e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.175e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.176e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.177e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.178e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.179e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.18e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.181e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.182e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.183e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.184e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.185e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.186e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.187e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.188e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.189e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.19e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.191e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.192e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.193e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.194e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.195e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.196e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.197e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.198e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.199e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.2e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.201e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.202e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.203e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.204e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.205e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.206e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.207e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.208e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.209e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.21e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.211e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.212e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.213e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.214e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.215e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.216e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.217e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.218e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.219e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.22e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.221e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.222e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.223e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.224e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.225e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.226e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.227e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.228e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.229e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.23e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.231e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.232e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.233e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.234e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.235e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.236e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.237e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.238e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.239e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.24e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.241e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.242e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.243e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.244e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.245e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.246e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.247e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.248e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.249e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.25e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.251e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.252e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.253e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.254e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.255e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.256e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.257e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.258e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.259e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.26e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.261e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.262e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.263e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.264e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.265e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.266e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.267e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.268e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.269e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.27e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.271e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.272e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.273e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.274e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.275e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.276e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.277e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.278e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.279e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.28e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.281e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.282e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.283e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.284e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.285e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.286e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.287e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.288e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.289e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.29e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.291e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.292e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.293e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.294e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.295e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.296e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.297e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.298e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.299e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.3e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.301e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.302e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.303e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.304e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.305e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.306e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.307e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.308e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.309e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.31e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.311e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.312e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.313e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.314e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.315e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.316e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.317e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.318e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.319e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.32e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.321e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.322e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.323e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.324e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.325e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.326e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.327e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.328e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.329e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.33e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.331e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.332e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.333e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.334e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.335e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.336e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.337e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.338e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.339e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.34e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.341e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.342e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.343e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.344e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.345e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.346e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.347e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.348e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.349e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.35e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.351e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.352e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.353e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.354e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.355e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.356e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.357e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.358e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.359e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.36e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.361e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.362e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.363e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.364e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.365e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.366e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.367e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.368e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.369e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.37e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.371e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.372e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.373e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.374e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.375e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.376e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.377e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.378e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.379e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.38e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.381e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.382e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.383e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.384e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.385e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.386e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.387e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.388e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.389e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.39e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.391e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.392e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.393e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.394e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.395e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.396e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.397e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.398e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.399e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.4e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.401e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.402e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.403e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.404e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.405e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.406e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.407e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.408e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.409e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.41e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.411e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.412e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.413e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.414e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.415e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.416e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.417e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.418e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.419e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.42e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.421e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.422e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.423e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.424e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.425e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.426e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.427e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.428e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.429e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.43e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.431e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.432e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.433e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.434e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.435e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.436e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.437e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.438e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.439e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.44e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.441e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.442e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.443e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.444e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.445e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.446e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.447e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.448e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.449e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.45e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.451e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.452e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.453e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.454e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.455e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.456e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.457e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.458e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.459e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.46e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.461e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.462e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.463e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.464e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.465e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.466e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.467e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.468e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.469e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.47e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.471e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.472e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.473e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.474e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.475e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.476e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.477e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.478e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.479e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.48e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.481e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.482e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.483e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.484e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.485e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.486e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.487e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.488e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.489e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.49e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.491e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.492e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.493e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.494e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.495e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.496e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.497e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.498e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.499e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.5e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.501e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.502e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.503e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.504e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.505e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.506e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.507e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.508e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.509e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.51e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.511e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.512e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.513e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.514e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.515e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.516e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.517e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.518e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.519e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.52e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.521e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.522e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.523e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.524e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.525e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.526e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.527e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.528e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.529e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.53e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.531e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.532e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.533e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.534e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.535e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.536e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.537e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.538e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.539e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.54e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.541e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.542e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.543e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.544e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.545e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.546e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.547e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.548e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.549e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.55e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.551e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.552e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.553e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.554e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.555e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.556e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.557e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.558e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.559e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.56e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.561e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.562e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.563e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.564e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.565e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.566e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.567e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.568e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.569e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.57e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.571e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.572e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.573e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.574e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.575e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.576e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.577e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.578e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.579e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.58e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.581e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.582e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.583e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.584e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.585e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.586e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.587e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.588e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.589e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.59e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.591e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.592e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.593e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.594e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.595e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.596e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.597e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.598e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.599e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.6e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.601e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.602e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.603e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.604e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.605e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.606e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.607e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.608e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.609e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.61e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.611e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.612e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.613e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.614e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.615e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.616e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.617e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.618e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.619e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.62e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.621e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.622e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.623e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.624e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.625e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.626e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.627e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.628e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.629e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.63e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.631e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.632e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.633e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.634e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.635e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.636e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.637e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.638e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.639e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.64e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.641e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.642e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.643e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.644e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.645e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.646e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.647e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.648e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.649e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.65e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.651e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.652e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.653e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.654e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.655e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.656e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.657e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.658e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.659e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.66e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.661e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.662e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.663e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.664e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.665e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.666e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.667e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.668e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.669e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.67e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.671e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.672e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.673e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.674e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.675e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.676e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.677e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.678e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.679e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.68e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.681e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.682e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.683e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.684e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.685e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.686e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.687e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.688e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.689e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.69e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.691e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.692e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.693e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.694e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.695e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.696e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.697e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.698e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.699e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.7e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.701e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.702e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.703e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.704e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.705e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.706e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.707e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.708e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.709e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.71e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.711e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.712e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.713e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.714e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.715e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.716e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.717e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.718e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.719e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.72e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.721e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.722e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.723e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.724e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.725e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.726e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.727e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.728e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.729e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.73e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.731e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.732e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.733e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.734e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.735e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.736e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.737e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.738e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.739e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.74e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.741e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.742e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.743e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.744e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.745e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.746e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.747e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.748e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.749e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.75e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.751e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.752e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.753e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.754e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.755e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.756e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.757e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.758e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.759e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.76e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.761e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.762e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.763e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.764e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.765e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.766e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.767e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.768e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.769e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.77e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.771e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.772e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.773e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.774e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.775e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.776e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.777e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.778e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.779e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.78e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.781e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.782e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.783e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.784e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.785e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.786e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.787e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.788e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.789e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.79e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.791e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.792e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.793e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.794e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.795e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.796e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.797e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.798e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.799e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.8e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.801e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.802e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.803e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.804e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.805e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.806e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.807e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.808e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.809e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.81e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.811e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.812e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.813e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.814e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.815e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.816e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.817e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.818e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.819e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.82e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.821e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.822e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.823e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.824e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.825e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.826e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.827e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.828e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.829e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.83e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.831e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.832e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.833e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.834e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.835e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.836e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.837e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.838e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.839e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.84e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.841e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.842e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.843e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.844e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.845e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.846e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.847e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.848e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.849e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.85e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.851e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.852e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.853e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.854e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.855e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.856e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.857e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.858e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.859e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.86e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.861e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.862e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.863e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.864e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.865e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.866e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.867e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.868e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.869e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.87e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.871e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.872e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.873e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.874e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.875e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.876e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.877e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.878e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.879e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.88e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.881e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.882e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.883e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.884e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.885e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.886e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.887e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.888e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.889e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.89e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.891e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.892e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.893e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.894e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.895e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.896e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.897e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.898e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.899e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.9e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.901e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.902e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.903e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.904e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.905e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.906e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.907e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.908e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.909e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.91e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.911e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.912e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.913e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.914e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.915e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.916e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.917e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.918e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.919e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.92e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.921e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.922e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.923e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.924e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.925e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.926e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.927e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.928e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.929e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.93e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.931e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.932e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.933e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.934e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.935e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.936e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.937e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.938e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.939e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.94e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.941e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.942e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.943e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.944e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.945e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.946e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.947e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.948e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.949e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.95e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.951e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.952e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.953e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.954e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.955e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.956e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.957e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.958e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.959e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.96e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.961e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.962e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.963e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.964e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.965e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.966e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.967e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.968e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.969e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.97e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.971e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.972e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.973e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.974e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.975e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.976e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.977e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.978e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.979e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.98e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.981e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.982e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.983e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.984e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.985e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.986e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.987e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.988e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.989e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.99e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.991e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.992e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.993e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.994e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.995e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.996e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.997e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.998e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 3.999e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.001e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.002e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.003e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.004e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.005e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.006e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.007e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.008e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.009e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.01e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.011e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.012e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.013e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.014e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.015e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.016e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.017e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.018e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.019e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.02e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.021e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.022e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.023e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.024e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.025e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.026e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.027e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.028e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.029e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.03e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.031e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.032e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.033e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.034e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.035e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.036e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.037e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.038e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.039e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.04e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.041e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.042e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.043e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.044e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.045e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.046e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.047e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.048e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.049e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.05e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.051e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.052e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.053e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.054e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.055e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.056e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.057e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.058e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.059e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.06e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.061e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.062e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.063e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.064e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.065e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.066e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.067e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.068e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.069e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.07e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.071e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.072e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.073e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.074e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.075e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.076e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.077e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.078e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.079e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.08e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.081e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.082e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.083e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.084e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.085e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.086e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.087e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.088e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.089e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.09e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.091e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.092e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.093e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.094e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.095e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.096e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.097e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.098e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.099e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.1e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.101e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.102e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.103e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.104e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.105e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.106e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.107e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.108e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.109e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.11e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.111e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.112e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.113e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.114e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.115e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.116e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.117e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.118e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.119e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.12e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.121e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.122e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.123e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.124e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.125e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.126e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.127e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.128e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.129e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.13e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.131e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.132e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.133e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.134e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.135e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.136e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.137e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.138e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.139e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.14e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.141e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.142e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.143e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.144e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.145e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.146e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.147e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.148e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.149e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.15e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.151e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.152e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.153e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.154e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.155e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.156e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.157e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.158e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.159e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.16e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.161e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.162e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.163e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.164e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.165e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.166e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.167e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.168e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.169e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.17e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.171e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.172e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.173e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.174e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.175e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.176e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.177e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.178e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.179e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.18e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.181e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.182e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.183e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.184e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.185e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.186e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.187e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.188e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.189e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.19e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.191e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.192e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.193e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.194e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.195e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.196e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.197e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.198e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.199e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.2e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.201e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.202e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.203e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.204e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.205e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.206e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.207e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.208e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.209e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.21e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.211e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.212e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.213e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.214e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.215e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.216e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.217e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.218e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.219e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.22e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.221e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.222e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.223e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.224e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.225e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.226e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.227e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.228e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.229e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.23e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.231e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.232e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.233e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.234e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.235e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.236e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.237e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.238e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.239e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.24e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.241e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.242e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.243e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.244e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.245e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.246e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.247e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.248e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.249e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.25e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.251e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.252e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.253e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.254e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.255e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.256e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.257e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.258e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.259e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.26e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.261e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.262e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.263e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.264e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.265e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.266e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.267e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.268e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.269e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.27e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.271e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.272e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.273e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.274e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.275e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.276e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.277e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.278e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.279e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.28e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.281e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.282e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.283e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.284e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.285e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.286e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.287e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.288e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.289e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.29e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.291e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.292e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.293e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.294e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.295e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.296e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.297e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.298e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.299e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.3e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.301e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.302e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.303e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.304e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.305e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.306e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.307e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.308e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.309e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.31e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.311e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.312e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.313e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.314e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.315e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.316e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.317e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.318e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.319e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.32e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.321e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.322e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.323e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.324e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.325e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.326e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.327e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.328e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.329e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.33e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.331e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.332e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.333e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.334e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.335e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.336e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.337e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.338e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.339e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.34e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.341e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.342e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.343e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.344e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.345e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.346e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.347e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.348e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.349e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.35e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.351e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.352e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.353e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.354e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.355e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.356e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.357e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.358e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.359e+04 on 43599  Progress: 4.36e+04 on 43599  Progress: 4.36e+04 on 43599  Progress: 4.36e+04 on 43599  Progress: 4.36e+04 on 43599  Progress: 4.36e+04 on 43599  
drugi_autor <- drugi_autor %>%
  mutate(X700 = str_replace_all(X700,"(\\|)+","|"),
         X700 = str_remove(X700,"\\||$"),
         X700 = ifelse(X700=="|","",as.character(X700))) %>%
  select(id,X100,X700)
bn_ks <- bn_ks %>%
  mutate(X100 = drugi_autor$X100,
         X700 = drugi_autor$X700)
##koniec przenosin
chunk1 <- bn_ks
bn_ks <- chunk1
#wczytanie listy utożsamionych twórców z autorami BN
#bezpiecznik: użyć sheets_auth() z konsoli
pbl_viaf <- sheets_read(ss = "1cEz73dGN2r2-TTc702yne9tKfH9PQ6UyAJ2zBSV6Jb0") %>%
  filter(czy_ten_sam!="nie") %>%
  select(pbl_id, BN_id, BN_name) %>%
  mutate(BN_name = str_replace_all(BN_name,"\\|\\(", " ("),
         BN_name = str_replace_all(BN_name, "\\;\\|", "; ")) %>%
  cSplit(.,"BN_name",sep = "|",direction = "long") %>%
  filter(BN_name!="")
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.
Reading from 'mapowanie_osob_bn_pbl'
pbl_viaf2 <- sheets_read(ss = "1_Bhwzo0xu4yTn8tF0ZNAZq9iIAqIxfcrjeLVCm_mggM") %>%
  filter(czy_ten_sam!="nie") %>%
  select(pbl_id, BN_id, BN_name) %>%
  mutate(BN_name = str_replace_all(BN_name,"\\|\\(", " ("),
         BN_name = str_replace_all(BN_name, "\\;\\|", "; ")) %>%
  cSplit(.,"BN_name",sep = "|",direction = "long") %>%
  filter(BN_name!="")
Reading from 'mapowanie_osob_bn_pbl_druga_czesc'
pbl_viaf3 <- sheets_read(ss = "1L-7Zv9EyLr5FeCIY_s90rT5Hz6DjAScCx6NxfuHvoEQ") %>%
  filter(czy_ten_sam!="nie") %>%
  select(pbl_id, BN_id, BN_name) %>%
  mutate(BN_name = str_replace_all(BN_name,"\\|\\(", " ("),
         BN_name = str_replace_all(BN_name, "\\;\\|", "; ")) %>%
  cSplit(.,"BN_name",sep = "|",direction = "long") %>%
  filter(BN_name!="")
Reading from 'mapowanie_osob_bn_pbl_po_imporcie'
pbl_viaf <- rbind(pbl_viaf,pbl_viaf2, pbl_viaf3) %>%
  arrange(pbl_id) %>%
  unique()
remove(pbl_viaf2)
remove(pbl_viaf3)

#bezpiecznik!
#sprawdź, czy jedno hasło bn nie zasila kilku haseł twórców pbl

# pbl_viaf_test1 <- sheets_read(ss = "1cEz73dGN2r2-TTc702yne9tKfH9PQ6UyAJ2zBSV6Jb0") %>%
#  filter(czy_ten_sam!="nie") %>%
#  select(pbl_id, BN_id, BN_name)
# pbl_viaf_test2 <- sheets_read(ss = "1_Bhwzo0xu4yTn8tF0ZNAZq9iIAqIxfcrjeLVCm_mggM") %>%
#  filter(czy_ten_sam!="nie") %>%
#  select(pbl_id, BN_id, BN_name)
# pbl_viaf_test3 <- sheets_read(ss = "1L-7Zv9EyLr5FeCIY_s90rT5Hz6DjAScCx6NxfuHvoEQ") %>%
#   filter(czy_ten_sam!="nie") %>%
#   select(pbl_id, BN_id, BN_name)
# pbl_viaf_test <- rbind(pbl_viaf_test1,pbl_viaf_test2,pbl_viaf_test3) %>%
#  arrange(pbl_id) %>%
#  unique()
# 
# count <- as.data.frame(table(pbl_viaf_test$BN_id))
# pbl_viaf_test_1 <- merge(pbl_viaf_test,count,by.x = "BN_id",by.y = "Var1",all.x = TRUE) %>%
#  unique()

#bezpiecznik!
#w obiekcie pbl_viaf_test_1 przy frekwencji większej niż 1 należy przeanalizować grupy, jeśli do tego samego identyfikatora pbl przypisane sa różne identyfikatory bn, które jednak opisują tę samą osobę, to wszystko jest okej; w przeciwnym razie trzeba przeprowadzić korektę w plikach "mapowanie_osob_bn_pbl"

# count2 <- as.data.frame(table(pbl_viaf_test$pbl_id))
# pbl_viaf_test_2 <- merge(pbl_viaf_test,count2,by.x = "pbl_id",by.y = "Var1",all.x = TRUE) %>%
#  unique()

#bezpiecznik!
#dla grupy o frekwencji większej niż 1 sprawdź, czy w zestawie identyfikatorów bn nie ma rażących błędów; w przeciwnym razie trzeba przeprowadzić korektę w plikach "mapowanie_osob_bn_pbl"

#utożsamianie po nazewnictwie z informacją o dziale
tworca_i_dzial <- dbGetQuery(PBL,
                             "select tw.tw_tworca_id \"pbl_id\", dz.dz_dzial_id||'|'||dz.dz_nazwa \"osoba_pbl_dzial_id_name\"
                              from pbl_tworcy tw
                              full join pbl_dzialy dz on dz.dz_dzial_id=tw.tw_dz_dzial_id")

#listy nazwisk BN ze zbioru
#100
marc_field_100 <- bn_ks %>%
  select(id,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(bn_ks$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
marc_field_100 <- marc_field_100 %>%
  select(id,`$a`,`$d`,`$c`) %>%
  mutate(name = ifelse(!is.na(`$c`)&substr(`$c`,nchar(`$c`),nchar(`$c`))==";",paste(`$a`,`$c`,`$d`,sep = " "),ifelse(!is.na(`$d`),paste(`$a`,`$d`,sep = " "),as.character(`$a`)))) %>%
  select(id,name) %>%
  mutate(name = str_replace(name,"(\\))(\\.$)","\\1"),
         name = str_replace(name, "([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)","\\1"))

osoba_bn_100_pbl <- marc_field_100 %>%
  unique() %>%
  inner_join(.,pbl_viaf,by = c("name" = "BN_name")) %>%
  select(1:3) %>%
  left_join(.,tworca_i_dzial,by = "pbl_id") %>%
  select(id,osoba_pbl_dzial_id_name) %>%
  group_by(id) %>%
  mutate(osoba_bn_autor = paste(unique(osoba_pbl_dzial_id_name),collapse = "~")) %>%
  select(-osoba_pbl_dzial_id_name) %>%
  ungroup() %>%
  unique()
Column `name`/`BN_name` joining character vector and factor, coercing into character vector
#600
marc_field_600 <- bn_ks %>%
  select(id,X600)%>%
  filter(X600!="") %>%
  mutate(X600=str_replace_all(X600,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X600",sep = "~",direction = "long") %>%
  filter(X600!="") %>%
  mutate(X600=str_remove_all(X600,"^\\|")) %>%
  mutate(indicator = str_replace_all(X600,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(bn_ks$X600,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_600)[1]))
colnames(empty_table) <-subfield_list
marc_field_600<-cbind(marc_field_600,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")
x <- 1:length(subfield_list)

for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_600$X600 <- str_replace(marc_field_600$X600,subfield_list_char[i],"|\\1")
}
Progress:  1 on 13  Progress:  2 on 13  Progress:  3 on 13  Progress:  4 on 13  Progress:  5 on 13  Progress:  6 on 13  Progress:  7 on 13  Progress:  8 on 13  Progress:  9 on 13  Progress: 10 on 13  Progress: 11 on 13  Progress: 12 on 13  Progress: 13 on 13  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_600[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_600$X600),str_replace_all(gsub(string,"\\3",marc_field_600$X600),"\\${2}.", "~"),NA)
}
Progress:  1 on 13  Progress:  2 on 13  Progress:  3 on 13  Progress:  4 on 13  Progress:  5 on 13  Progress:  6 on 13  Progress:  7 on 13  Progress:  8 on 13  Progress:  9 on 13  Progress: 10 on 13  Progress: 11 on 13  Progress: 12 on 13  Progress: 13 on 13  
marc_field_600 <- marc_field_600 %>%
  select(id,`$a`,`$d`,`$c`) %>%
  mutate(name = ifelse(!is.na(`$c`)&substr(`$c`,nchar(`$c`),nchar(`$c`))==";",paste(`$a`,`$c`,`$d`,sep = " "),ifelse(!is.na(`$d`),paste(`$a`,`$d`,sep = " "),as.character(`$a`)))) %>%
  select(id,name) %>%
  mutate(name = str_replace(name,"(\\))(\\.$)","\\1"),
         name = str_replace(name, "([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)","\\1"))
osoba_bn_600_pbl <- marc_field_600 %>%
  unique() %>%
  inner_join(.,pbl_viaf,by = c("name" = "BN_name")) %>%
  select(1:3) %>%
  left_join(.,tworca_i_dzial,by = "pbl_id") %>%
  select(id,osoba_pbl_dzial_id_name) %>%
  group_by(id) %>%
  mutate(osoba_bn_temat = paste(unique(osoba_pbl_dzial_id_name),collapse = "~")) %>%
  select(-osoba_pbl_dzial_id_name) %>%
  ungroup() %>%
  unique()
Column `name`/`BN_name` joining character vector and factor, coercing into character vector
bn_ks <- bn_ks %>%
  full_join(.,osoba_bn_100_pbl,by = "id") %>%
  full_join(.,osoba_bn_600_pbl,by = "id")

#bezpiecznik!
#sprawdzić
#jeśli obiekt bezpiecznik będzie miał jakiekolwiek wiersze, to oznacza, że w pliku "mapowanie_osob_bn_pbl" jest wiersz z twórcą, którego nie ma w bazie lub jego identyfikator jest błędny
#jeśli obiekt bezpiecznik jest pusty - to wszystko okej
# sprawdz czy id tworcy z ktorejs tabeli na dysku istnieje w bazie oracle, jesli nie, wklej id tworcy z oracla do tabeli lub - jeśli nie ma takiego twórcy w bazie usuń wiersz w tabeli. Następnie dopisz fragment kodu, by usunąć kolumny osoba_bn_autor i osoba_bn_temat (po tej operacji usuń dopisany kod) i uruchom chunk ponownie

# bn_ks <- bn_ks %>% 
#   select(-osoba_bn_autor,-osoba_bn_temat)

bezpiecznik <- bn_ks %>% 
  filter(osoba_bn_autor=="NA")
chunk2 <- bn_ks
#wskazanie interesujących PBL dziedzin wiedzy po UKD i określenie typu UKD
bn_ks <- chunk2 %>%
  mutate(dziedzina_PBL = ifelse(str_detect(X080,"(?<=\\$a|:|\\[|\\+|\\()(82)"),"ukd_lit",
                                ifelse(str_detect(X080,"(?<=\\$a|:|\\[|\\+)(791)")|str_detect(X080,"(?<=\\$a|:)(792)")|str_detect(X080,"\\$a7\\.09"),"ukd_tfrtv",
                                       ifelse(str_detect(X080,"(?<=\\$a01)(\\(|\\/|2|4|5|9)")|str_detect(X080,"(?<=\\$a|\\[])(050)")|str_detect(X080,"(?<=\\$a|:|\\[|\\+|\\()(811\\.162)"),"ukd_biblio",
                                              ifelse(str_detect(X080,"\\$a002")|str_detect(X080,"(?<=\\$a|:)(305)")|str_detect(X080,"(?<=\\$a39|:39)(\\(438\\)|8\\.2)")|str_detect(X080,"(?<=\\$a|:)(929[^\\.]051)")|str_detect(X080,"(?<=\\$a|:)(929[^\\.]052)"),"ukd_pogranicze","bez_ukd_PBL")))))

#ograniczenie rekordów z ukd językowym
biblio <- bn_ks %>% 
  select(id, X008, X009, X015, X041, X044, X080, X100, X245, X246, X250, X260, X300, X380, X386, X490, X500, X501, X546, X600, X650, X655, X700, X710, X800, X830, rok, BN_URL, osoba_bn_autor, osoba_bn_temat, dziedzina_PBL) %>% 
  filter(dziedzina_PBL=="ukd_biblio")
dobre_biblio <- biblio %>% 
  filter(!grepl("Podręczniki dla dzieci|Podręczniki dla szkół podstawowych",X655),
         !grepl("szkoły podstawowe|rozmówki|nauczanie|logopedia",X650,ignore.case = TRUE),
         !grepl("811\\.162\\.1\\(075\\.2\\)|811\\.162\\'24\\(078\\)",X080),
         !grepl("ćwiczenia i zadania|poradniki dla nauczycieli|słownik.*?\\-polski|słownik polsko\\-|Słowniki dla dzieci",X655,ignore.case = TRUE),
         !(grepl("Podręczniki",X655)&grepl("Kształcenie nauczycieli",X650)))
dobre_biblio2 <- biblio %>% 
  filter(!(is.na(osoba_bn_autor)&is.na(osoba_bn_temat)))
dobre_biblio <- dobre_biblio %>% 
  bind_rows(dobre_biblio2 %>% filter(id %notin% dobre_biblio$id))
zle_biblio <- biblio %>% 
  filter(id %notin% dobre_biblio$id)
bn_ks$dziedzina_PBL[bn_ks$id %in% zle_biblio$id] <- NA

#wskazanie interesujących PBL rekordów bez UKD, które są w kluczu PBL
bez_ukd_ale_PBL <- bn_ks %>%
  select(id, X080, X650, X655, osoba_bn_autor, osoba_bn_temat, dziedzina_PBL) %>%
  filter(dziedzina_PBL == "bez_ukd_PBL"&X080==""&is.na(osoba_bn_autor)&is.na(osoba_bn_temat)) %>%
  mutate(bez_ukd_ale_PBL = grepl("literat|literac|pisar|bajk|dramat|epigramat|esej|felieton|film|komedi|nowel|opowiadani|pamiętnik|poemiks|poezj|powieść|proza|reportaż|satyr|wspomnieni|Scenariusze zajęć|Podręczniki dla gimnazjów|teatr|Nagrod|aforyzm|baśń|baśnie|polonijn|dialogi|fantastyka naukowa|legend|pieśń|poemat|przypowieś|honoris causa|filologi|kino polskie|pieśni|interpretacj",X650, ignore.case = TRUE)|grepl("literat|literac|pisar|bajk|dramat|epigramat|esej|felieton|film|komedi|nowel|opowiadani|pamiętnik|poemiks|poezj|powieść|proza|reportaż|satyr|wspomnieni|Scenariusze zajęć|Podręczniki dla gimnazjów|teatr|Nagrod|aforyzm|baśń|baśnie|polonijn|dialogi|fantastyka naukowa|legend|pieśń|poemat|przypowieś|honoris causa|filologi|kino polskie|pieśni|interpretacj",X655,ignore.case = TRUE)) %>%
  filter(bez_ukd_ale_PBL == TRUE) %>%
  select(id) %>%
  mutate(bez_ukd_ale_PBL = "tak")

bn_ks <- bn_ks %>%
  full_join(.,bez_ukd_ale_PBL,by = "id")

#Biblia
biblia <- bn_ks %>% 
  filter(grepl("biblia", X630, ignore.case = TRUE), 
         grepl("analiza i interpretacja|edycja krytyczna|materiały konferencyjne", X655, ignore.case = TRUE)) %>% 
  select(id) %>% 
  mutate(czy_biblia = "tak")

bn_ks <- bn_ks %>%
  full_join(biblia,by = "id")

#wspomnienia,pamiętniki,literatura podróżnicza,reportaż
wspomnienia <- bn_ks %>%
  mutate(czy_wspomnienia_reportaz = ifelse(str_detect(X655,"Pamiętniki i wspomnienia")|str_detect(X655,"Literatura podróżnicza")|str_detect(X655,"Pamiętniki")|str_detect(X655,"Reportaż")|str_detect(X655,"Relacja z podróży"),"tak",NA)) %>%
  select(id,czy_wspomnienia_reportaz) %>%
  unique()
bn_ks <- bn_ks %>%
  full_join(.,wspomnienia,by = "id")

#słowa literackie w polu 245
rekordy_slowa <- sqldf("select *
                    from bn_ks a
                    where LOWER(a.X245) like ('%'||'pisar'||'%')
                   or LOWER(a.X245) like ('%'||'literat'||'%')
                   or LOWER(a.X245) like ('%'||'literac'||'%')
                   or LOWER(a.X245) like ('%'||'teatr'||'%')
                   or LOWER(a.X245) like ('%'||'film'||'%')
                   or LOWER(a.X245) like ('%'||'dramat'||'%')
                   or LOWER(a.X245) like ('%'||'interpretacj'||'%')") %>%
  select(id) %>%
  mutate(slowa_literackie = "tak") %>%
  unique()
bn_ks <- bn_ks %>%
  full_join(.,rekordy_slowa,by = "id")

bn_ok <- bn_ks %>%
  filter(!((is.na(osoba_bn_autor)&is.na(osoba_bn_temat))&dziedzina_PBL=="bez_ukd_PBL"&is.na(bez_ukd_ale_PBL)&is.na(czy_wspomnienia_reportaz)&is.na(slowa_literackie)&is.na(czy_biblia)))

#interpretacje nieliterackie
zle_interpretacje <- bn_ok %>% 
  filter(grepl("interpretacj",X245,ignore.case = TRUE)|grepl("interpretacj",X650,ignore.case = TRUE)|grepl("interpretacj",X245,ignore.case = TRUE)) %>% 
  filter(grepl("\\$a336|\\$a342|\\$a32|\\$a551|\\$a616|\\$a159\\.961",X080)|grepl("prawn|handl|handel|kodeks|prac|ustaw|administrac|spółka|spółek|prawa|podatk",X655,ignore.case = TRUE)|grepl("prawn|handl|handel|kodeks|prac|ustaw|administrac|spółka|spółek|prawa|podatk",X650,ignore.case = TRUE)|grepl("prawn|handl|handel|kodeks|ustaw|administrac|spółka|spółek|prawa|podatk",X245,ignore.case = TRUE))

bn_ok <- bn_ok %>% 
  filter(id %notin% zle_interpretacje$id)

#usuwanie zdublowanych książek
#020
marc_field_020 <- bn_ok %>%
  select(id,X020)%>%
  filter(X020!="") %>%
  mutate(X020=str_replace_all(X020,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X020",sep = "~",direction = "long") %>%
  filter(X020!="") %>%
  mutate(X020=str_remove_all(X020,"^\\|")) %>%
  mutate(indicator = str_replace_all(X020,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(bn_ok$X020,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_020)[1]))
colnames(empty_table) <-subfield_list
marc_field_020<-cbind(marc_field_020,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_020$X020 <- str_replace(marc_field_020$X020,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_020[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_020$X020),str_replace_all(gsub(string,"\\3",marc_field_020$X020),"\\${2}.", "~"),NA)
}
marc_field_020 <- marc_field_020 %>%
  select(id,isbn=`$a`)

distance1 <- bn_ok %>%
  filter(!grepl("\\$n",X245)) %>%
  left_join(.,marc_field_020,by="id") %>%
  mutate(porownanie = paste(isbn,substr(str_to_lower(str_replace_all(X245, "\\W", "")),4,14),str_extract(X300,"(?<=\\$a)(.*?)(?=,| )"),sep = "|"))

count <- as.data.frame(table(distance1$porownanie))

distance1 <- merge(distance1,count,by.x = "porownanie",by.y = "Var1",all.x = TRUE) %>%
  select(porownanie,Freq,2:155) %>%
  arrange(-Freq,porownanie) %>%
  select(porownanie,Freq,id) %>%
  cSplit(.,"porownanie",sep = "|",direction = "wide") %>% 
  arrange(porownanie_2,porownanie_3,porownanie_1,-Freq,id)
count <- as.data.frame(table(distance1$porownanie_2,distance1$porownanie_3)) %>% 
  filter(Freq>0)
distance1 <- distance1 %>% 
  left_join(.,count,by=c("porownanie_2"="Var1","porownanie_3"="Var2")) %>% 
  arrange(porownanie_2,porownanie_3,-Freq.y,porownanie_1,-Freq.y,id) %>% 
  group_by_at(vars(4:6)) %>% 
  fill(porownanie_1) %>% 
  ungroup() %>% 
  unique() %>% 
  select(-Freq.y) %>% 
  rename(Freq = Freq.x)

#poszukanie dystansu Levenshteina == 1 przy takim samym ISBN
distance2 <- distance1 %>%
  filter(!is.na(porownanie_1)) %>%
  group_by(porownanie_1) %>%
  mutate(Freq = paste(Freq,collapse = "|"),
         id = paste(id,collapse = "|"),
         porownanie_2 = paste(porownanie_2,collapse = "|"),
         porownanie_3 = paste(porownanie_3,collapse = "|")) %>%
  ungroup() %>%
  unique() %>%
  mutate(ile = str_count(porownanie_2,"\\|")+1) %>%
  arrange(-ile) %>%
  mutate(id_grupy = 1:lengths(.)) %>%
  filter(ile>1) %>%
  cSplit(.,c("Freq","id","porownanie_2","porownanie_3"),sep = "|",direction = "long") %>%
  unique() %>%
  filter(!is.na(id))

permutations <- data.frame(stringsAsFactors = FALSE)
x <- 1:max(distance2$id_grupy)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  distance3 <- as.vector(unlist(distance2 %>% filter(id_grupy==i) %>% select(porownanie_2)))
  iteration <- as.data.frame(permutations(distance3,2)) %>%
    mutate(id_grupy = i)
  y <- 1:length(iteration$V1)
  for (j in y) {
    progress(match(j,y), max.value = length(y))
    iteration$distance[j] <- adist(iteration$V1[j],iteration$V2[j])
  }
  permutations <- rbind(permutations,iteration)
}

permutations <- permutations %>%
  filter(distance<=1)

distance2 <- distance2 %>%
  filter(id_grupy %in% permutations$id_grupy) %>%
  select(id,id_grupy)
#połączyć distance2 z distance1, żeby wydobyć pełną listę zdublowanych książek
duble_ksiazek <- distance1 %>%
  unite("porownanie", porownanie_1:porownanie_3, sep = "|") %>%
  filter(Freq>1) %>%
  full_join(.,distance2,by="id")

duble_ksiazek$same <- cumsum(!duplicated(duble_ksiazek$porownanie))

duble_ksiazek <- duble_ksiazek %>%
  arrange(id_grupy,same) %>%
  mutate(id_grupy_dubli = ifelse(!is.na(id_grupy),as.character(id_grupy),paste("x",same,sep = ""))) %>%
  select(id,id_grupy_dubli) %>%
  arrange(id_grupy_dubli)

duble_ksiazek$id_grupy_dubli <- cumsum(!duplicated(duble_ksiazek$id_grupy_dubli))
#uzupełnienie całego zbioru o informację o dublu, wydobycie dubli do osobnego pliku i usuniecie ich z głównego pliku z rekordami bn; wskazanie listy interesujących pól
bn_ok <- bn_ok %>%
  left_join(.,duble_ksiazek,by="id") %>%
  select(id, X008, X009, X015, X041, X044, X080, X100, X245, X246, X250, X260, X300, X380, X386, X490, X500, X501, X546, X600, X650, X655, X700, X710, X800, X830, rok, BN_URL, osoba_bn_autor, osoba_bn_temat, dziedzina_PBL, bez_ukd_ale_PBL, czy_wspomnienia_reportaz, slowa_literackie, czy_biblia, id_grupy_dubli)

duble_ksiazek <- bn_ok %>%
  filter(!is.na(id_grupy_dubli)) %>%
  arrange(id_grupy_dubli)

bn_ok <- bn_ok %>%
  filter(is.na(id_grupy_dubli))
#wpisanie w zdublowane rekordy jak największej ilości danych (suma wszystkich dubli)
duble_ksiazek <- duble_ksiazek %>%
  arrange(id_grupy_dubli,-nchar(X015))
duble_ksiazek[is.na(duble_ksiazek)] <- ""
duble_naprawione <- data.frame(stringsAsFactors = FALSE)
x <- 1:max(duble_ksiazek$id_grupy_dubli)
y <- c(4:27,29:34)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  iteration <- duble_ksiazek %>%
    filter(id_grupy_dubli==i)
  for (j in y) {
    if (j==30) {
      iteration[,j] <- iteration[,j][nchar(iteration[,j])==min(nchar(iteration[,j]))][1]
    } else {
        iteration[,j] <- iteration[,j][nchar(iteration[,j])==max(nchar(iteration[,j]))][1]
      }
  }
  duble_naprawione <- rbind(duble_naprawione,iteration)
}
#pozostawienie pojedynczych wierszy dla książek
duble_naprawione <- duble_naprawione[!duplicated(duble_naprawione$id_grupy_dubli),]
duble_naprawione <- duble_naprawione %>%
  mutate(osoba_bn_autor = ifelse(osoba_bn_autor!="",as.character(osoba_bn_autor),NA),
         osoba_bn_temat = ifelse(osoba_bn_temat!="",as.character(osoba_bn_temat),NA),
         dziedzina_PBL = ifelse(dziedzina_PBL!="",as.character(dziedzina_PBL),NA),
         bez_ukd_ale_PBL = ifelse(bez_ukd_ale_PBL!="",as.character(bez_ukd_ale_PBL),NA),
         czy_wspomnienia_reportaz = ifelse(czy_wspomnienia_reportaz!="",as.character(czy_wspomnienia_reportaz),NA),
         slowa_literackie = ifelse(slowa_literackie!="",as.character(slowa_literackie),NA),)
#połączenie unikatowych książek z dubli z całym zbiorem
bn_ok <- bn_ok %>%
  bind_rows(.,duble_naprawione) %>%
  select(-id_grupy_dubli)

#usunięcie zagranicznych zapisów, które nie są polonikami 
#na podstawie braku wystąpień frazy "pol" w polach MARC
nie_poloniki <- bn_ok %>%
  filter(if (X501=="") !grepl("pl",substr(X008,16,18))) %>%
  filter(!grepl("pol",substr(X008,36,38))) %>%
  filter(!grepl("pol",X041)) %>%
  filter(!grepl("pl",X044)) %>%
  filter(!grepl("pol",X500,ignore.case = TRUE)) %>%
  filter(!grepl("pol",X501,ignore.case = TRUE)) %>%
  filter(!grepl("pol",X546,ignore.case = TRUE)) %>%
  select(id) %>%
  mutate(czy_polonik = "nie") %>%
  unique()

bn_ok <- bn_ok %>%
  full_join(.,nie_poloniki,by = "id") %>%
  select(id, X008, X009, X041, X044, X080, X100, X245, X246, X250, X260, X300, X380, X386, X490, X500, X501, X500, X546, X600, X650, X655, X700, X710, X800, X830, rok, BN_URL, osoba_bn_autor, osoba_bn_temat, dziedzina_PBL, bez_ukd_ale_PBL, czy_wspomnienia_reportaz, slowa_literackie, czy_polonik, czy_biblia) %>%
  unique()
#wskazanie niepoloników i usunięcie ze zbioru
nie_poloniki <- bn_ok %>%
  filter(czy_polonik=="nie") %>%
  filter(is.na(osoba_bn_autor)|is.na(osoba_bn_temat)|!(osoba_bn_autor %in% c("148|Hasła osobowe (literatura polska)","430|Hasła osobowe (Ludzie teatru i filmu)"))|!(osoba_bn_temat %in% c("148|Hasła osobowe (literatura polska)","430|Hasła osobowe (Ludzie teatru i filmu)")))
bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from nie_poloniki b)") %>%
  select(-czy_polonik)

#usunięcie książek zabawek, do kolorowania, dla małych dzieci, z naklejkami, które nie mają żadnego deskryptora gatunkowego
ks_zabawki <- bn_ok %>% 
  filter((str_count(X655,"\\$a")==1&grepl("Książka zabawka|Książki dla małych dzieci|Książka do kolorowania|Książka z naklejkami|Książki dla przedszkolaków|Wydawnictwa dla dzieci",X655))|str_count(X655,"\\$a")==2&grepl("Książka obrazkowa",X655)&grepl("Książki dla małych dzieci",X655)|str_count(X655,"\\$a")==2&grepl("Książka do kolorowania",X655)&grepl("Publikacje dla dzieci",X655)|str_count(X655,"\\$a")==2&grepl("Książki zabawki",X655)&grepl("Wycinanki",X655)|str_count(X655,"\\$a")==2&grepl("Książki dla małych dzieci",X655)&grepl("Publikacje dla dzieci",X655))

bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from ks_zabawki b)")
chunk3 <- bn_ok
bn_ok <- chunk3
#pobranie starych list książek z importu
#aktualizacja - uzupełnij ostatni brakujący zaimportowany rocznik
listy_2010 <- sheets_read(ss = "1Vjeg0JsYI-8v9B-x_yyujIhmw7UR7Lk7poexrHNdVzM", sheet = "lista_ksiazek")
Reading from 'ks_BN_2010_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
New names:
* `` -> ...4
listy_2009 <- sheets_read(ss = "1Gc4gQSm9b4NDTQysiauzW9Jac6yP0oNuFbB8utO4kS4", sheet = "lista_ksiazek")
Reading from 'ks_BN_2009_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
pojawi戼㸳y si攼㹡 warto㤼㹣ci NA na skutek przekszta戼㸳ceniaNew names:
* `` -> ...4
listy_2005 <- sheets_read(ss = "1HkWkX61sQWktSXf0v0uPV8j2DwuTocesyCJuKTdisIU", sheet = "lista_ksiazek")
Reading from 'ks_BN_2005_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
New names:
* link -> link...4
* link -> link...5
listy_2006 <- sheets_read(ss = "1zeMx_Idsum8JmlM6G7Eufx9LxloHoAHv8V-My71VZf4", sheet = "lista_ksiazek")
Reading from 'ks_BN_2006_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
New names:
* link -> link...4
* link -> link...5
listy_2007 <- sheets_read(ss = "19iL7YoD8ug-rLnpzS6FD46aS2J1BRf4qL5VxllywCGE", sheet = "lista_ksiazek")
Reading from 'ks_BN_2007_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
New names:
* link -> link...4
* link -> link...5
listy_2008 <- sheets_read(ss = "1RshTeWdXBE7OzOEfoGpL9Ljb_GXDlGDePNjV1HKmuOo", sheet = "lista_ksiazek")
Reading from 'ks_BN_2008_listy_pracownik昼㸳w'
Range "'lista_ksiazek'"
New names:
* link -> link...4
* link -> link...5
listy_2004 <- sheets_read(ss = "1RmDia97s4B8F74sS7Wbpnv_A9zMfr4xTvcD9leukAfM", sheet = "lista_książek") %>%
  mutate(typ_ksiazki = NA, link = NA, link_1 = NA, status = NA, blad_w_imporcie_tytulu = NA) %>%
  select(pracownik,ZA_ZAPIS_ID,typ_ksiazki, link, link_1, rok, status, blad_w_imporcie_tytulu, X100, X245, X650, X655, X246, X250, X260, X300, X380, X490, X500, X501, X546, X600, X700, X041, X080)
Reading from 'ks_BN_2004_listy_pracownik昼㸳w'
Range "'lista_ksi戼㸹戼㹦ek'"
New names:
* `` -> ...26
* `` -> ...27
* `` -> ...29
#ujednolicenie 2004 do wzoru późniejszych rocznikóW
do2004 <- RJDBC::dbGetQuery(PBL,
                            "select z.za_zapis_id, z.za_status_imp
                            from pbl_zapisy z
                            where z.za_uwagi like '%import%02%'")
listy_2004 <- merge(listy_2004,do2004,by = "ZA_ZAPIS_ID",all.x = TRUE) %>%
  mutate(status = ZA_STATUS_IMP) %>%
  select(-ZA_STATUS_IMP) %>%
  select(pracownik,ZA_ZAPIS_ID,typ_ksiazki, link, link_1, rok, status, blad_w_imporcie_tytulu, X100, X245, X650, X655, X246, X250, X260, X300, X380, X490, X500, X501, X546, X600, X700, X041, X080)
#zapewnienie tych samych nazw kolumn
#aktualizacja - wprowadź wiersz dla ostatniego zaimportowanego rocznika
colnames(listy_2010) <- names(listy_2004)
colnames(listy_2009) <- names(listy_2004)
colnames(listy_2005) <- names(listy_2004)
colnames(listy_2006) <- names(listy_2004)
colnames(listy_2007) <- names(listy_2004)
colnames(listy_2008) <- names(listy_2004)
listy_2004 <- listy_2004 %>%
  mutate(X655 = str_remove(str_replace_all(X655,"(\\$a)","|\\1"),"^\\|"),
         X650 = str_remove(str_replace_all(X650,"(\\$a)","|\\1"),"^\\|"))

#wyznaczenie listy 650 i 655 do automatycznego INO na podstawie wcześniejszych importów - usunięte są tylko te deskryptory, które nie mają związku z literaturą podmiotową
zapisy <- RJDBC::dbGetQuery(PBL,
                            "select z.za_zapis_id, z.za_status_imp, z.za_uwagi, z.za_adnotacje
                            from pbl_zapisy z
                            where z.za_uwagi like '%import%'") %>%
  mutate(pracownik_pbl = str_extract(ZA_UWAGI, "(?<=akceptuje:)([A-Z]*)")) %>%
  select(ZA_ZAPIS_ID,pracownik_pbl,ZA_STATUS_IMP,ZA_ADNOTACJE)
#aktualizacja - dodaj do skryptu listę z ostatnim brakującym zaimportowanym rocznikiem
do_importu_NIE <- rbind(listy_2004,listy_2005,listy_2006,listy_2007,listy_2008, listy_2009, listy_2010) %>%
  full_join(.,zapisy,by = "ZA_ZAPIS_ID") %>%
  select(X650,X655,ZA_STATUS_IMP,ZA_ADNOTACJE) %>%
  mutate(X650 = str_remove_all(X650,"\\\\7"),
         X655 = str_remove_all(X655,"\\\\7"),
         joint = paste(X650,X655,sep = "~")) %>%
  select(ZA_STATUS_IMP,joint,ZA_ADNOTACJE) %>%
  group_by(joint) %>%
  mutate(grupa = paste(ZA_STATUS_IMP,collapse = ","),
         ZA_ADNOTACJE = paste(ZA_ADNOTACJE,collapse = ",")) %>%
  ungroup() %>%
  select(joint, grupa,ZA_ADNOTACJE) %>%
  unique() %>%
  filter(!grepl("rozpisana|rozpisać|rozpisania",ZA_ADNOTACJE)) %>% 
  mutate(ile = str_count(grupa,",")+1) %>%
  filter(grepl("INO",grupa)) %>%
  filter(!grepl("IOK|IMP|IPN|IPC",grupa)) %>%
  mutate(czy = str_detect(joint,"\\$y[\\d-]+ w\\.")) %>%
  filter(czy==FALSE) %>%
  select(joint) %>%
  mutate(joint = str_remove_all(str_replace_all(joint,"(\\$a)","\\\\#7\\1"),"#")) %>%
  mutate(do_wyrzucenia_na_podstawie_INO = "tak")

bn_ok <- bn_ok %>%
  mutate(X650 = ifelse(X650=="",NA,as.character(X650)),
         X655 = ifelse(X655=="",NA,as.character(X655)),
         joint = paste(X650,X655,sep = "~")) %>%
  left_join(.,do_importu_NIE,by = "joint") %>%
  mutate(X650 = ifelse(is.na(X650),"",as.character(X650)),
         X655 = ifelse(is.na(X655),"",as.character(X655)))

do_importu_NIE <- bn_ok %>%
  filter(is.na(osoba_bn_autor)&is.na(osoba_bn_temat)&is.na(slowa_literackie)&do_wyrzucenia_na_podstawie_INO=="tak") %>%
  filter(!grepl("literat|literac|pamiętnik|pisar",X655,ignore.case = TRUE))

bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from do_importu_NIE b)") %>%
  select(-joint,-do_wyrzucenia_na_podstawie_INO)

#usunięcie na podstawie tabel KP
out <- sheets_read(ss = "1lO_ZtwyBDePGqXkgWyk_WmGeQBaAQBvEUjNnctrw-vg") %>%
  filter(wchodzi_do_pbl == "nie")
Reading from 'X650 dla X655 Wydawnictwa popularne'
KP_out <- bn_ok %>%
  filter(grepl("Wydawnictwa popularne",X655)) %>%
  unique() %>%
  full_join(.,out,by = "X650") %>%
  filter(wchodzi_do_pbl=="nie") %>%
  filter(!is.na(X655)) %>%
  select(id)

bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from KP_out b)")

#czy próbować wyrzucać po UKD, które dostawało tylko INO?
#aktualizacja - dodaj do skryptu listę z ostatnim brakującym zaimportowanym rocznikiem
do_importu_NIE2 <- rbind(listy_2004,listy_2005,listy_2006,listy_2007,listy_2008, listy_2009, listy_2010) %>%
  full_join(.,zapisy,by = "ZA_ZAPIS_ID") %>%
  select(X080,ZA_STATUS_IMP) %>%
  mutate(X080 = str_remove_all(X080,"\\\\")) %>%
  select(ZA_STATUS_IMP,X080) %>%
  group_by(X080) %>%
  mutate(grupa = paste(ZA_STATUS_IMP,collapse = ",")) %>%
  ungroup() %>%
  select(X080, grupa) %>%
  unique() %>%
  mutate(ile = str_count(grupa,",")+1) %>%
  filter(grepl("INO",grupa)) %>%
  filter(!grepl("IOK|IMP|IPN|IPC",grupa)) %>%
#tu się musi KP wypowiedzieć, czy jak było 2xNIE to wystarczy, żeby wywalać
#  filter(ile > 1) %>%
  select(X080) %>%
  mutate(X080 = paste("\\",str_remove_all(str_replace_all(X080,"(\\$a)","\\\\#\\1"),"#"),sep = "")) %>%
  mutate(do_wyrzucenia_na_podstawie_INO = "tak")

#na podstawie UKD też wyrzucić - decyzja KP
bn_ok <- bn_ok %>%
  full_join(.,do_importu_NIE2,by = "X080") %>%
  filter(!is.na(id))

do_importu_NIE2 <- bn_ok %>%
  filter(is.na(osoba_bn_autor)&is.na(osoba_bn_temat)&is.na(slowa_literackie)&do_wyrzucenia_na_podstawie_INO=="tak")

bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from do_importu_NIE2 b)") %>%
  select(-do_wyrzucenia_na_podstawie_INO)

#reszta rekordów, które nie będą zaimportowane
reszta <- sqldf("select *
               from bn_ks a
               where a.id not in 
               (select b.id
               from bn_ok b)")
chunk4 <- bn_ok
bn_ok <- chunk4
stare_rodzajowanie <- bn_ok %>%
  mutate(czy_ma_ukd = ifelse(X080=="","nie","tak"),
         position_dash = ifelse(grepl("(\\\\\\\\\\$a|:)(821\\.)",X080),str_locate(X080,"\\-")[,1], NA),
         position_dash = ifelse(is.na(position_dash),"",as.integer(position_dash)),
         position_091 = str_locate(X080,"\\(091\\)")[,1],
         position_091 = ifelse(is.na(position_091),"",as.integer(position_091)),
         rodzaj_ksiazki = ifelse(grepl("Antologi",X655),"antologia",
                                 ifelse(position_091!=""&position_dash!="",
                          ifelse(as.integer(position_091)<as.integer(position_dash), "przedmiotowa", "podmiotowa"),
                          ifelse(position_dash!="","podmiotowa","przedmiotowa"))),
         rodzaj_ksiazki = ifelse(czy_ma_ukd=="nie","",as.character(rodzaj_ksiazki)))
gatunki_podmiotowe <- stare_rodzajowanie %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  select(X655) %>%
  unique() %>%
  cSplit(.,"X655",sep = "|",direction = "long") %>%
  unique() %>%
  filter(str_detect(X655,"\\$y[\\d-]+ w\\."))
gatunki_podmiotowe <- str_replace_all(str_replace_all(paste(gatunki_podmiotowe$X655,collapse = "|"),"(.{2})(\\$a)","\\2"),"\\$","\\\\$")
stare_rodzajowanie$czy_podmiotowy <- grepl(gatunki_podmiotowe,stare_rodzajowanie$X655)|grepl(gatunki_podmiotowe,stare_rodzajowanie$X650)
stare_rodzajowanie <- stare_rodzajowanie %>%
  mutate(rodzaj_ksiazki = ifelse(str_count(X245, " / ")+1>2,"antologia",
                                 ifelse(str_count(X245, " / ")+1==2,"współwydanie",
                                        ifelse(rodzaj_ksiazki==""&czy_podmiotowy==TRUE&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                               ifelse(X100!=""&grepl("aPamiętnik|aLiteratura podróżnicza",X655)&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                      ifelse(X100!=""&grepl("aReportaż",X655)&grepl("\\$y",X655)&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                             ifelse(X100!=""&(X655=="\\7$aReportaż polski$2DBN"|X655=="\\7$aReportaż$2DBN")&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                                    ifelse(rodzaj_ksiazki==""&czy_podmiotowy==FALSE,"przedmiotowa",as.character(rodzaj_ksiazki)))))))),
         rodzaj_ksiazki = ifelse(rodzaj_ksiazki=="","przedmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("Lektury Wszech Czasów : streszczenie, analiza, interpretacja|Lektury Wszech Czasów - Literat|Biblioteczka Opracowań",X490)|grepl("Lektury Wszech Czasów : streszczenie, analiza, interpretacja|Lektury Wszech Czasów - Literat|Biblioteczka Opracowań",X830),"przedmiotowa",as.character(rodzaj_ksiazki)),
         ilu_tworcow = str_count(X100,"\\$a"),
         rodzaj_ksiazki = ifelse(ilu_tworcow>4&rodzaj_ksiazki=="podmiotowa","antologia",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("Legendy",X655),"antologia",as.character(rodzaj_ksiazki))) %>%
  filter(grepl("katalog wystawy",X655,ignore.case = TRUE)&rodzaj_ksiazki=="przedmiotowa") %>% 
  select(id)

##właściwe rodzajowanie z uwaględnieniem jednego elementu ze starego rodzajowania
bn_ok <- bn_ok %>%
  mutate(czy_ma_ukd = ifelse(X080=="","nie","tak"),
         position_dash = ifelse(grepl("(\\\\\\\\\\$a|:)(821\\.)",X080),str_locate(str_replace(X080,"(.*?)(\\$a821\\.)(.*?$)","\\2\\3"),"\\-")[,1]+nchar(str_replace(X080,"(.*?)(\\$a821\\.)(.*?$)","\\1")), NA),
         position_dash = ifelse(is.na(position_dash),"",as.integer(position_dash)),
         position_091 = str_locate(X080,"\\(091\\)")[,1],
         position_091 = ifelse(is.na(position_091),"",as.integer(position_091)),
         rodzaj_ksiazki = ifelse(grepl("antologi|Przysłowia [\\S]+\\$2|Cytaty\\$2",X655,ignore.case = TRUE),"antologia",
                                 ifelse(position_091!=""&position_dash!="",
                          ifelse(as.integer(position_091)<as.integer(position_dash), "przedmiotowa", "podmiotowa"),
                          ifelse(position_dash!="","podmiotowa","przedmiotowa"))),
         rodzaj_ksiazki = ifelse(czy_ma_ukd=="nie","",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("82-93",X080)&rodzaj_ksiazki!="antologia","podmiotowa",as.character(rodzaj_ksiazki)))

rekordy_podmiotowe_stare <- dbGetQuery(PBL,
                                       "select z.za_zapis_id
                                        from pbl_zapisy z
                                        join IBL_OWNER.pbl_rodzaje_zapisow rz on rz.rz_rodzaj_id=z.za_rz_rodzaj1_id
                                        where rz.rz_rodzaj_id=1
                                        and z.za_uwagi like '%import%'")
#aktualizacja - dodaj do skryptu listę z ostatnim brakującym zaimportowanym rocznikiem
gatunki_poprzednie_imp <- rbind(listy_2004,listy_2005,listy_2006,listy_2007,listy_2008, listy_2009, listy_2010) %>% 
  filter(ZA_ZAPIS_ID %in% rekordy_podmiotowe_stare$ZA_ZAPIS_ID) %>% 
  mutate(X655 = ifelse(rok==2004,str_remove_all(str_replace_all(X655,"(\\$a)","\\\\#7\\1"),"#"),as.character(X655))) %>% 
  select(X655) %>% 
  unique()

gatunki_podmiotowe <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  select(X655) %>%
  bind_rows(.,gatunki_poprzednie_imp) %>% 
  unique() %>%
  cSplit(.,"X655",sep = "|",direction = "long") %>%
  unique() %>%
  filter(!grepl("xhistoria|xtematyka|xbiografia",X655)) %>% 
  filter(str_detect(X655,"\\$y[\\d-]+ w\\."), 
         grepl("( \\S+)(\\$y)(.*?$)", X655)) %>% 
  #mutate(X655 = str_replace(X655, "(?<= )(\\S+)(\\$y)(.*?$)", "[\\\\S]+\\2")) %>% 
  mutate(X655 = str_replace(X655, "(?<= )(\\S+)(\\$y)(.*?$)", ".+\\2")) %>% 
  unique()

gatunki_podmiotowe <- str_replace_all(str_replace_all(str_replace_all(paste(gatunki_podmiotowe$X655,collapse = "|"),"(.{2})(\\$a)","\\2"),"\\$","\\\\$"), "\\(", "\\\\\\(")
bn_ok$czy_podmiotowy <- grepl(gatunki_podmiotowe,bn_ok$X655)|grepl(gatunki_podmiotowe,bn_ok$X650)
bn_ok <- bn_ok %>%
  mutate(rodzaj_ksiazki = ifelse(str_count(X245, " \\/ ")+1>2,"antologia",
                                 ifelse(str_count(X245, " \\/ \\[{0,1}[A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽ]")+1==2,"współwydanie",
                                        ifelse(rodzaj_ksiazki==""&czy_podmiotowy==TRUE&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                               ifelse(X100!=""&grepl("aPamiętnik|aLiteratura podróżnicza",X655)&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                      ifelse(X100!=""&grepl("aReportaż",X655)&grepl("\\$y",X655)&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                             ifelse(X100!=""&(X655=="\\7$aReportaż polski$2DBN"|X655=="\\7$aReportaż$2DBN")&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",
                                                                    ifelse(rodzaj_ksiazki==""&czy_podmiotowy==FALSE,"przedmiotowa",as.character(rodzaj_ksiazki)))))))),
         rodzaj_ksiazki = ifelse(rodzaj_ksiazki=="","przedmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("Lektury Wszech Czasów \\: streszczenie, analiza, interpretacja|Lektury Wszech Czasów - Literat|Biblioteczka Opracowań",X490)|grepl("Lektury Wszech Czasów \\: streszczenie, analiza, interpretacja|Lektury Wszech Czasów - Literat|Biblioteczka Opracowań",X830),"przedmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("aLektura z Opracowaniem - Zielona Sowa|aLektura \\(Greg\\)|aLektura Dobrze Opracowana|aLektura z Opracowaniem - Ibis",X830),"podmiotowa",as.character(rodzaj_ksiazki)),
         ilu_tworcow = str_count(X100,"\\$a"),
         rodzaj_ksiazki = ifelse(ilu_tworcow>4&rodzaj_ksiazki=="podmiotowa","antologia",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(grepl("Legendy|\\$vantologi",X655),"antologia",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(str_count(X100, "\\|")==0&X100!=""&rodzaj_ksiazki=="antologia"&grepl("Legendy i podania|Antologia",X655),"podmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(X100==""&str_count(X700,"\\$t")==3&grepl("Harlequin",X260),"antologia",as.character(rodzaj_ksiazki))) %>%
  select(1:34,rodzaj_ksiazki)


# przypisania do podmiotowej na podstawie smierci przed 1700
marc_field_100 <- bn_ok %>%
  filter(!is.na(osoba_bn_autor)) %>%
  select(id,X100)%>%
  filter(!grepl("\\|", X100)) %>% 
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(bn_ok$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}

marc_field_100 <- marc_field_100 %>% 
  filter(!is.na(`$d`) & str_extract(`$d`, "\\d+(?!.*\\d+)") < 1700)

bn_ok <- bn_ok %>% 
  mutate(rodzaj_ksiazki = ifelse(id %in% marc_field_100$id, "podmiotowa", as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(id %in% stare_rodzajowanie$id, "przedmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(X080=="\\\\$a82-1/-9(0.054)"&rodzaj_ksiazki=="przedmiotowa"&!grepl("xhistoria|xtematyka|xbiografia",X650)&!grepl("xhistoria|xtematyka|xbiografia",X655),"podmiotowa",as.character(rodzaj_ksiazki)),
         rodzaj_ksiazki = ifelse(rodzaj_ksiazki=="podmiotowa"&grepl("aut\\.",X245)&grepl("et al\\.",X245),"antologia",as.character(rodzaj_ksiazki)))
chunk5 <- bn_ok
bn_ok <- chunk5
IOK_podm <- bn_ok %>%
  filter(!grepl("\\$t",X700)) %>%
  mutate(ile_gatunkow = ifelse(rodzaj_ksiazki=="podmiotowa",str_count(X655,"\\$a"),"nie"),
         tylko_podmiotowe = ifelse(str_count(X655,"\\$a")>0&str_count(X655,"\\$a")==str_count(X655,"\\$y")&str_count(X655,"\\$y")!=str_count(X655,"\\$x"),"tak","nie")) %>%
  filter(str_count(X100,"\\$a")==1) %>%
  filter(!grepl("pseud|nazwa",X500,ignore.case = TRUE)&X501==""&(tylko_podmiotowe=="tak"|ile_gatunkow=="1")&X100!="")

#zestawienie 100 i 245
#100
marc_field_100 <- IOK_podm %>%
  select(id,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(IOK_podm$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
marc_field_100 <- marc_field_100 %>%
  select(id,`$a`) %>%
  mutate(bn_nazwisko = ifelse(str_detect(`$a`,","),str_replace(`$a`,"^(.*?)(, )(.*?$)","\\1"),as.character(`$a`)),
         bn_imie = ifelse(str_detect(`$a`,","),str_replace(`$a`,"^(.*?)(, )(.*?$)","\\3"),"")) %>%
  select(id,bn_nazwisko,bn_imie)

IOK_podm <- IOK_podm %>%
  full_join(.,marc_field_100,by = "id")

x <- 1:length(IOK_podm$id)
for (i in x) {
  
  IOK_podm$czy_nazwisko[i] <- grepl(IOK_podm$bn_nazwisko[i],IOK_podm$X245[i])
  IOK_podm$czy_imie[i] <- grepl(IOK_podm$bn_imie[i],IOK_podm$X245[i])
  
}
#usunięcie tych, które nie mają tytułów oryginalnych
IOK_podm <- IOK_podm %>%
  filter(czy_nazwisko==1&czy_imie==1&!grepl("et al\\.",X245)) %>%
  select(-bn_nazwisko,-bn_imie,-czy_nazwisko,-czy_imie) %>%
  unique() %>%
  mutate(jezyk = str_extract(X041,("(?<=\\$h)(...)"))) %>%
  mutate(czy_tytul_obcy = ifelse(is.na(jezyk),"nie dotyczy",
                                 ifelse(!grepl("pol",jezyk),
                                        ifelse(X246!="","ok",
                                               ifelse(grepl("Tyt[,\\.] oryg",X501)|grepl("Tyt[,\\.] oryg",X500),"ok","problem")),"nie dotyczy"))) %>%
  filter(czy_tytul_obcy!="problem") %>%
  select(id) %>%
  mutate(automatyczna_podmiotowa = "tak")
###tutaj kończą się automatyczne podmiotowe
bn_ok <- bn_ok %>%
  full_join(.,IOK_podm,by = "id") %>%
  mutate(czy_automatycznie = ifelse(!is.na(automatyczna_podmiotowa),"podmiotowa","nie")) %>%
  select(-automatyczna_podmiotowa) %>%
  mutate(czy_automatycznie = ifelse(czy_automatycznie=="podmiotowa"&rodzaj_ksiazki!="podmiotowa","nie",as.character(czy_automatycznie)))

###czy i jak automatyzować przedmiotową?

#write.csv2(bn_ok, "C:/Users/Cezary/Desktop/bn_ok_2009.csv", row.names = F, na = '', fileEncoding = 'UTF-8')
chunk6 <- bn_ok
bn_ok <- chunk6

#propozycja1
#na później kierowane są wszystkie książki przedmiotowe, które mają bez_ukd_PBL lub ukd_pogranicze i nie są biblią oraz książki wydane poza Polską, które nie poszły do automatycznego importu oraz harlequiny, które nie poszły do automatycznego importu
na_pozniej <- bn_ok %>%
  filter((if (X501=="") !grepl("pl",substr(X008,16,18))&!grepl("pol",substr(X008,36,38))&czy_automatycznie=="nie")|czy_automatycznie=="nie"&rodzaj_ksiazki=="przedmiotowa"&dziedzina_PBL %in% c("bez_ukd_PBL","ukd_pogranicze")&(czy_biblia!="tak"|is.na(czy_biblia))|grepl("arleq",X260,ignore.case = TRUE)&czy_automatycznie=="nie")
warunek posiada d戼㸳ugo㤼㹣攼㸶 > 1 i tylko pierwszy element b攼㹡dzie u戼㹦yty
#bezpiecznik

#propozycja2
#propozycja, by kierować na później wszystkie książki przedmiotowe z dziedziny "bez_ukd_PBL"
# na_pozniej <- bn_ok %>%
#   filter(czy_automatycznie=="nie"&rodzaj_ksiazki=="przedmiotowa"&dziedzina_PBL=="bez_ukd_PBL"&(czy_biblia!="tak"|is.na(czy_biblia)))

# #propozycja3
# na_pozniej <- bn_ok %>%
#   filter(czy_automatycznie=="nie"&rodzaj_ksiazki=="przedmiotowa"&dziedzina_PBL %in% c("bez_ukd_PBL","ukd_pogranicze")&(czy_biblia!="tak"|is.na(czy_biblia)))

#propozycja4
#stara operacja
# na_pozniej <- bn_ok %>%
#   filter(czy_automatycznie=="nie"&rodzaj_ksiazki=="przedmiotowa"&dziedzina_PBL=="bez_ukd_PBL") %>%
#   mutate(kategorie_literackie = ifelse(grepl("mitolog|baś|bajk|poezj|liryk|epik|dramat|literac|literat|pisar|wiersz|proz|powieś|opowiad|miniatur|aforyzm|esej|szkic|feliet|report|dzienni|wspomnie|autobiograf|kaza|rozmyśl|list|interpretacj",X650,ignore.case = TRUE)|grepl("mitolog|baś|bajk|poezj|liryk|epik|dramat|literac|literat|pisar|wiersz|proz|powieś|opowiad|miniatur|aforyzm|esej|szkic|feliet|report|dzienni|wspomnie|autobiograf|kaza|rozmyśl|list|interpretacj",X655, ignore.case = TRUE),"tak","nie")) %>%
#   filter(kategorie_literackie=="nie") %>%
#   mutate(lata = ifelse(grepl("\\d{2}-",X100),str_replace(X100,"(.*\\$d\\(.*?)(\\d{2,4})(\\?{0,1}-.*)","\\2"),NA),
#          lata_temat = ifelse(grepl("\\d{2}-",X600),str_replace(X600,"(.*\\$d\\(.*?)(\\d{2,4})(\\?{0,1}-.*)","\\2"),NA)) %>%
# filter((is.na(lata)&is.na(lata_temat))|!(as.integer(lata)<1800)|!(as.integer(lata_temat)<1800))
write.csv2(na_pozniej, paste("C:/Users/",employee_name,"/Desktop/bn_",import_year,"_ks_na_pozniej.csv",sep = ""), row.names = F, na = '', fileEncoding = 'UTF-8')

bn_ok <- sqldf("select *
               from bn_ok a
               where a.id not in (select b.id from na_pozniej b)")
chunk7 <- bn_ok

Czy jest sens to robić?

###automatycznie działowanie przedmiotowej na podstawie dotychczasowych importów
#zapisy <- RJDBC::dbGetQuery(PBL,
#                            "select z.za_zapis_id, dz.dz_dzial_id, dz.dz_nazwa, z.za_status_imp, z.za_uwagi
#                            from pbl_zapisy z
#                            join pbl_dzialy dz on dz.dz_dzial_id=z.za_dz_dzial1_id
#                            where z.za_uwagi like '%import%'") %>%
#  mutate(pracownik_pbl = str_extract(ZA_UWAGI, "(?<=akceptuje:)([A-Z]*)")) %>%
#  select(-ZA_UWAGI)
#
#poprzednie_importy <- rbind(listy_2004,listy_2005,listy_2006,listy_2007,listy_2008) %>%
#  full_join(.,zapisy,by = "ZA_ZAPIS_ID") %>%
#  select(X650,X655,DZ_DZIAL_ID,DZ_NAZWA,ZA_STATUS_IMP) %>%
#  mutate(X650 = str_remove_all(X650,"\\\\7"),
#         X655 = str_remove_all(X655,"\\\\7"),
#         X650 = str_remove_all(str_replace_all(X650,"(\\$a)","\\\\#7\\1"),"#"),
#         X655 = str_remove_all(str_replace_all(X655,"(\\$a)","\\\\#7\\1"),"#")) %>%
#  group_by_at(vars(X650:DZ_NAZWA)) %>%
#  mutate(ZA_STATUS_IMP = paste(ZA_STATUS_IMP,collapse = "|")) %>%
#  ungroup() %>%
#  unique() %>%
#  ungroup() %>%
#  filter(!grepl("\\|",DZ_DZIAL_ID)) %>%
#  filter(grepl("IOK",ZA_STATUS_IMP)) %>%
#  filter(!grepl("INO|IMP|IPN|IPC",ZA_STATUS_IMP)) %>%
#  filter(!grepl("osobowe",DZ_NAZWA)) %>%
#  filter(!(is.na(X650)&is.na(X655))) %>%
#  mutate(ile650 = str_count(X650,"\\|")+1,
#         ile655 = str_count(X655,"\\|")+1) %>%
#  filter(ile650<=10|ile655<=10) %>%
#  select(-ile650,-ile655) %>%
#  mutate(ile_statusow = str_count(ZA_STATUS_IMP,"\\|")+1) %>%
#  arrange(X655,X650,-ile_statusow)
#poprzednie_importy$id_grupy <- cumsum(!duplicated(poprzednie_importy[1:2]))
#poprzednie_importy <- poprzednie_importy[!duplicated(poprzednie_importy$id_grupy),] %>%
#  mutate(id = row_number()) %>%
#  select(-ile_statusow,-id_grupy)
#
#do_dzialowania <- data.frame(id = as.integer(), X650 = as.character(), X655 = as.character(), stringsAsFactors = FALSE)
#x <- 1:length(poprzednie_importy$id)
#for (i in x){
#  progress(match(i,x), max.value = length(x)) 
#    if (is.na(poprzednie_importy$X650[i])&!is.na(poprzednie_importy$X655[i])){
#      permutations <- as.data.frame(permutations(unlist(str_split(poprzednie_importy$X655[i],"\\|")), str_count(poprzednie_importy$X655[i],"\\|")+1)) %>%
#        unite(data=.,col = "permutation", sep = "|") %>%
#        mutate(X650 = NA,
#               X655 = permutation,
#               id = poprzednie_importy$id[i]) %>%
#        select(id,X650,X655)
#      do_dzialowania <- rbind(do_dzialowania,permutations)
#    } else if (is.na(poprzednie_importy$X655[i])&!is.na(poprzednie_importy$X650[i])){
#      permutations <- as.data.frame(permutations(unlist(str_split(poprzednie_importy$X650[i],"\\|")), str_count(poprzednie_importy$X650[i],"\\|")+1)) %>%
#        unite(data=.,col = "permutation", sep = "|") %>%
#        mutate(X650 = permutation,
#               X655 = NA,
#               id = poprzednie_importy$id[i]) %>%
#        select(id,X650,X655)
#      do_dzialowania <- rbind(do_dzialowania,permutations)
#    } else {
#      permutations <- as.data.frame(permutations(unlist(str_split(poprzednie_importy$X650[i],"\\|")), str_count(poprzednie_importy$X650[i],"\\|")+1)) %>%
#        unite(data=.,col = "permutation", sep = "|") %>%
#        mutate(X650 = permutation,
#               id = poprzednie_importy$id[i]) %>%
#        select(id,X650)
#      permutations650 <- data.frame(stringsAsFactors = FALSE)
#      permutations650 <- rbind(permutations650,permutations)
#      permutations <- as.data.frame(permutations(unlist(str_split(poprzednie_importy$X655[i],"\\|")), str_count(poprzednie_importy$X655[i],"\\|")+1)) %>%
#        unite(data=.,col = "permutation", sep = "|") %>%
#        mutate(X655 = permutation,
#               id = poprzednie_importy$id[i]) %>%
#        select(id,X655)
#      permutations655 <- data.frame(stringsAsFactors = FALSE)
#      permutations655 <- rbind(permutations655,permutations)
#      permutations <- merge(permutations650,permutations655,by = "id",all = TRUE) %>%
#        select(id,X650,X655)
#      do_dzialowania <- rbind(do_dzialowania,permutations)
#    }
#}
#
#do_dzialowania <- do_dzialowania %>%
#  full_join(.,poprzednie_importy %>% select(id,DZ_DZIAL_ID,DZ_NAZWA),by = "id") %>%
#  select(-id)
#do_dzialowania[is.na(do_dzialowania)] <- ""
#####tutaj sprawdzić
#do_dzialowania_przedm <- merge(bn_ok %>% filter(czy_automatycznie=="nie"&rodzaj_ksiazki=="przedmiotowa"),do_dzialowania, by = c("X650","X655")) %>%
#  select(id,DZ_DZIAL_ID,DZ_NAZWA)
#wczytanie kartotek PBL
redaktorzy_dzialow <- sheets_read(ss = "1Baje-ZfPgAKEDAoDzeo_eCBDrsL7jAXt6ubP2cedbFc", sheet = "redaktorzy_działów") %>%
  select(DZ_DZIAL_ID, DZ_NAZWA, redaktor_dzialu) #%>%
Reading from 'redaktorzy dzia戼㸳昼㸳w'
Range "'redaktorzy_dzia戼㸳昼㸳w'"
New names:
* `` -> ...14
  #mutate(DZ_DZIAL_ID = as.character(DZ_DZIAL_ID))

PBL_dzialy <- dbReadTable(PBL,'PBL_DZIALY') %>%
  select(1,3,6)
Note: method with signature 㤼㸱DBIConnection#character㤼㸲 chosen for function 㤼㸱dbReadTable㤼㸲,
 target signature 㤼㸱JDBCConnection#character㤼㸲.
 "JDBCConnection#ANY" would also be valid
PBL_dzialy_path <- merge(x = PBL_dzialy, y = PBL_dzialy, by.x = "DZ_DZ_DZIAL_ID", by.y = "DZ_DZIAL_ID", all.x = TRUE)
colnames(PBL_dzialy_path) <- c("NAD_DZ_DZIAL_ID", "DZ_DZIAL_ID", "DZ_NAZWA", "NAD_DZ_NAZWA", "NAD_NAD_DZ_DZIAL_ID")

PBL_dzialy_path <- merge(x = PBL_dzialy_path, y = PBL_dzialy, by.x = "NAD_NAD_DZ_DZIAL_ID", by.y = "DZ_DZIAL_ID", all.x = TRUE)
colnames(PBL_dzialy_path) <- c("NAD_NAD_DZ_DZIAL_ID", "NAD_DZ_DZIAL_ID", "DZ_DZIAL_ID", "DZ_NAZWA", "NAD_DZ_NAZWA", "NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_DZ_DZIAL_ID")

PBL_dzialy_path <- merge(x = PBL_dzialy_path, y = PBL_dzialy, by.x = "NAD_NAD_NAD_DZ_DZIAL_ID", by.y = "DZ_DZIAL_ID", all.x = TRUE)
colnames(PBL_dzialy_path) <- c("NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_DZ_DZIAL_ID", "NAD_DZ_DZIAL_ID", "DZ_DZIAL_ID", "DZ_NAZWA", "NAD_DZ_NAZWA", "NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_DZ_DZIAL_ID")

PBL_dzialy_path <- merge(x = PBL_dzialy_path, y = PBL_dzialy, by.x = "NAD_NAD_NAD_NAD_DZ_DZIAL_ID", by.y = "DZ_DZIAL_ID", all.x = TRUE)
colnames(PBL_dzialy_path) <- c("NAD_NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_DZ_DZIAL_ID", "NAD_DZ_DZIAL_ID", "DZ_DZIAL_ID", "DZ_NAZWA", "NAD_DZ_NAZWA", "NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_NAD_DZ_DZIAL_ID")

PBL_dzialy_path <- merge(x = PBL_dzialy_path, y = PBL_dzialy, by.x = "NAD_NAD_NAD_NAD_NAD_DZ_DZIAL_ID", by.y = "DZ_DZIAL_ID", all.x = TRUE)
colnames(PBL_dzialy_path) <- c("NAD_NAD_NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_NAD_DZ_DZIAL_ID", "NAD_NAD_DZ_DZIAL_ID", "NAD_DZ_DZIAL_ID", "DZ_DZIAL_ID", "DZ_NAZWA", "NAD_DZ_NAZWA", "NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_NAD_DZ_NAZWA", "NAD_NAD_NAD_NAD_NAD_NAD_DZ_DZIAL_ID")

PBL_dzialy_path <- PBL_dzialy_path %>%
  select(-length(PBL_dzialy_path)) %>%
  filter(DZ_DZIAL_ID!=0) %>%
  select(6,7,5,8,4,9,3,10,2,11,1,12) %>%
  unique()

PBL_dz_osob <- PBL_dzialy_path %>%
  filter(grepl("osobowe", DZ_NAZWA)|grepl("osobowe", NAD_DZ_NAZWA)|grepl("osobowe", NAD_NAD_DZ_NAZWA)|grepl("osobowe", NAD_NAD_NAD_DZ_NAZWA)|grepl("osobowe", NAD_NAD_NAD_NAD_DZ_NAZWA)|grepl("osobowe", NAD_NAD_NAD_NAD_NAD_DZ_NAZWA)) %>%
  select(1,2,3,4,5,6,7,8) %>%
  filter(DZ_DZIAL_ID!=148)

PBL_dz_osob_1 <- PBL_dz_osob %>%
  select(1,2,3,4)
PBL_dz_osob_2 <- PBL_dz_osob %>%
  select(1,2,5,6)
PBL_dz_osob_3 <- PBL_dz_osob %>%
  select(1,2,7,8)
colnames(PBL_dz_osob_2) <- c(names(PBL_dz_osob_1))
colnames(PBL_dz_osob_3) <- c(names(PBL_dz_osob_1))
PBL_dz_osob <- rbind(PBL_dz_osob_1,PBL_dz_osob_2,PBL_dz_osob_3) %>%
  filter(!is.na(NAD_DZ_DZIAL_ID)) %>%
  unique()
PBL_dz_osob <- rbind(PBL_dz_osob, c("15043", "Hasła osobowe(luksemburska)","15043", "Hasła osobowe(luksemburska)"), c("430", "Hasła osobowe (Ludzie teatru i filmu)","430", "Hasła osobowe (Ludzie teatru i filmu)"))
PBL_dz_osob_bez_teatru <- PBL_dz_osob %>%
  filter(DZ_DZIAL_ID!=430)

PBL_tworcy <- dbReadTable(PBL,'PBL_TWORCY')
tw_i_dz_podm <- merge(x=PBL_tworcy,y=PBL_dz_osob_bez_teatru, by.x = "TW_DZ_DZIAL_ID", by.y = "NAD_DZ_DZIAL_ID", all.x = TRUE) %>%
  arrange(TW_TWORCA_ID)

tw_i_dz_podm <- data.frame(tw_i_dz_podm, pol_osob = ifelse(tw_i_dz_podm$TW_DZ_DZIAL_ID == 148 & substr(tw_i_dz_podm$TW_NAZWISKO,1,1)==str_sub(tw_i_dz_podm$DZ_NAZWA,nchar(as.character(tw_i_dz_podm$DZ_NAZWA)),nchar(as.character(tw_i_dz_podm$DZ_NAZWA))),TRUE,FALSE), pol = ifelse(tw_i_dz_podm$TW_DZ_DZIAL_ID == 148, TRUE, FALSE)) %>%
  filter(pol_osob == TRUE | pol == FALSE)
PBL_tworcy_podm <- tw_i_dz_podm %>%
  select(TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, TW_NAZW_WLASCIWE, TW_PSEUDONIMY, TW_DATA_URODZIN, TW_DATA_ZGONU, TW_ROCZNIKI_PBL, TW_SLOWA_KLUCZOWE, TW_UWAGI, TW_ROK_URODZIN, TW_ROK_ZGONU, TW_LICZBA_ZAPISOW, TW_ADNOTACJE, TW_TRANSLITERACJE) %>%
  filter(!is.na(DZ_DZIAL_ID))
colnames(PBL_tworcy_podm) <- c("TW_TWORCA_ID", "TW_NAZWISKO", "TW_IMIE", "TW_DZ_DZIAL_ID", "DZ_NAZWA", "TW_NAZW_WLASCIWE", "TW_PSEUDONIMY", "TW_DATA_URODZIN", "TW_DATA_ZGONU", "TW_ROCZNIKI_PBL", "TW_SLOWA_KLUCZOWE", "TW_UWAGI", "TW_ROK_URODZIN", "TW_ROK_ZGONU", "TW_LICZBA_ZAPISOW", "TW_ADNOTACJE", "TW_TRANSLITERACJE")
PBL_tworcy_podm <- PBL_tworcy_podm %>%
  mutate(nazwa = ifelse(is.na(TW_IMIE),as.character(TW_NAZWISKO),paste(TW_NAZWISKO,TW_IMIE, sep = "")),
         nazwa = str_to_lower(str_replace_all(nazwa, "\\W", "")),
         nazwa = str_replace_all(str_to_lower(nazwa), "\\W", ""))

tw_i_dz <- merge(x=PBL_tworcy,y=PBL_dz_osob, by.x = "TW_DZ_DZIAL_ID", by.y = "NAD_DZ_DZIAL_ID", all.x = TRUE) %>%
  arrange(TW_TWORCA_ID)
tw_i_dz <- data.frame(tw_i_dz, pol_osob = ifelse(tw_i_dz$TW_DZ_DZIAL_ID == 148 & substr(tw_i_dz$TW_NAZWISKO,1,1)==str_sub(tw_i_dz$DZ_NAZWA,nchar(as.character(tw_i_dz$DZ_NAZWA)),nchar(as.character(tw_i_dz$DZ_NAZWA))),TRUE,FALSE), pol = ifelse(tw_i_dz$TW_DZ_DZIAL_ID == 148, TRUE, FALSE)) %>%
  filter(pol_osob == TRUE | pol == FALSE)
PBL_tworcy <- tw_i_dz %>%
  select(TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, TW_NAZW_WLASCIWE, TW_PSEUDONIMY, TW_DATA_URODZIN, TW_DATA_ZGONU, TW_ROCZNIKI_PBL, TW_SLOWA_KLUCZOWE, TW_UWAGI, TW_ROK_URODZIN, TW_ROK_ZGONU, TW_LICZBA_ZAPISOW, TW_ADNOTACJE, TW_TRANSLITERACJE)
colnames(PBL_tworcy) <- c("TW_TWORCA_ID", "TW_NAZWISKO", "TW_IMIE", "TW_DZ_DZIAL_ID", "DZ_NAZWA", "TW_NAZW_WLASCIWE", "TW_PSEUDONIMY", "TW_DATA_URODZIN", "TW_DATA_ZGONU", "TW_ROCZNIKI_PBL", "TW_SLOWA_KLUCZOWE", "TW_UWAGI", "TW_ROK_URODZIN", "TW_ROK_ZGONU", "TW_LICZBA_ZAPISOW", "TW_ADNOTACJE", "TW_TRANSLITERACJE")
PBL_tworcy <- PBL_tworcy %>%
  mutate(nazwa = ifelse(is.na(TW_IMIE),as.character(TW_NAZWISKO),paste(TW_NAZWISKO,TW_IMIE, sep = "")),
         nazwa = str_to_lower(str_replace_all(nazwa, "\\W", "")),
         nazwa = str_replace_all(str_to_lower(nazwa), "\\W", ""),
         TW_DZ_DZIAL_ID = as.numeric(TW_DZ_DZIAL_ID))

PBL_autorzy <- dbReadTable(PBL,'PBL_AUTORZY') %>%
  mutate(nazwa = ifelse(is.na(AM_IMIE),as.character(AM_NAZWISKO),paste(AM_NAZWISKO,AM_IMIE, sep = "")),
         nazwa = str_to_lower(str_replace_all(nazwa, "\\W", "")),
         nazwa = str_replace_all(str_to_lower(nazwa), "\\W", "")) %>%
  filter(nazwa != "nana")

PBL_wspoltworcy <- dbReadTable(PBL,'PBL_OSOBY') %>%
  mutate(nazwa_prosta = str_replace_all(str_to_lower(ifelse(is.na(OS_IMIE),as.character(OS_NAZWISKO),paste(OS_NAZWISKO,OS_IMIE, sep = ""))), "\\W", "")) %>%
  filter(nazwa_prosta !="nana")

PBL_funkcje <- sheets_read(ss = "1htn_L6REs3GdG1xSiGHIfr6MJvjmmU_kVGxiMZtCV24", sheet = "Arkusz1")
Reading from 'import_pbl_funkcje'
Range "'Arkusz1'"
PBL_wydawnictwa <- dbReadTable(PBL,'PBL_WYDAWNICTWA') %>%
  mutate(nazwa_prosta = str_replace_all(str_to_lower(paste(WY_MIASTO, WY_NAZWA)), "\\W", "")) %>%
  filter(nazwa_prosta !="nana")

PBL_rodzaje_zapisow <- dbReadTable(PBL,'PBL_RODZAJE_ZAPISOW')

BN_PBL_lista_literatur <- sheets_read(ss = "1zbwjnrtWGvbjrQTLMavJcWSu7HfP0I-USNgZ_KWiXjc", sheet = "lista ukd bn") %>%
  filter(!is.na(ukd_ogolne)) %>%
  select(3:9) %>%
  cSplit(.,c("pbl_id","pbl_nazwa","redaktor_dzialu","pbl_id_literatury","pbl_literatura"),sep = "|",direction = "long") %>%
  filter(!is.na(pbl_id))
Reading from 'lista_UKD_literatury'
Range "'lista ukd bn'"
PBL_hasla_osobowe <- sheets_read(ss = "1zbwjnrtWGvbjrQTLMavJcWSu7HfP0I-USNgZ_KWiXjc", sheet = "pbl_hasla_osobowe") %>%
  select(2:5)
Reading from 'lista_UKD_literatury'
Range "'pbl_hasla_osobowe'"
New names:
* nazwa -> nazwa...1
* nazwa -> nazwa...5
colnames(PBL_hasla_osobowe) <- c("DZ_DZIAL_ID","DZ_NAZWA","redaktor_dzialu","nazwa")
bn_ok <- chunk7
# podzielenie unikatowych rekordów bn na dwa wiersze w tabeli, z których powstaną dwa rekordy pbl
bn_ok <- bn_ok %>%
  mutate(ZA_UWAGI = 1:nrow(.))

wspolwydania_fix <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>%
  mutate(X245 = ifelse(grepl("\\]\\.[^$]",X245),str_replace(X245,"(\\$c)(.*)(\\]\\. )(.* \\/ .*)","\\1\\2]|10$a\\4"),str_replace(X245,"(\\$c)(.*?)(?<!tł|red)(\\. )(.* \\/ .*)","\\1\\2|10$a\\4")),
         X245 = str_replace_all(X245, "\\/[^\\$]", "/$c"))

# usunięcie ze zbioru współwydawnictw (będą później połączone)
bn_ok <- bn_ok %>% 
  filter(id %notin% wspolwydania_fix$id)

# usunięcie z pola X246 wersji tytułów, które nie są tytułami oryginału
marc_field_246 <- wspolwydania_fix %>%
  select(ZA_UWAGI,X246)%>%
  mutate(X246=str_replace_all(X246,"(^|\\|)","~\\1"),
         X246 = ifelse(X246=="~",as.character(X246),str_remove(X246,"^~"))) %>%
  cSplit(.,"X246",sep = "~",direction = "long") %>%
  mutate(X246=str_remove_all(X246,"^\\|")) %>%
  mutate(indicator = str_replace_all(X246,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(wspolwydania_fix$X246,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_246)[1]))
colnames(empty_table) <-subfield_list
marc_field_246<-cbind(marc_field_246,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_246$X246 <- str_replace(marc_field_246$X246,subfield_list_char[i],"|\\1")
}
Progress: 1 on 2  Progress: 2 on 2  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_246[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_246$X246),str_replace_all(gsub(string,"\\3",marc_field_246$X246),"\\${2}.", "~"),NA)
}
Progress: 1 on 2  Progress: 2 on 2  
marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)]
marc_field_246 <- marc_field_246 %>% 
  filter(is.na(`$i`)|`$i`!="Tyt. przekł.:") %>% 
  select(ZA_UWAGI,X246) %>% 
  mutate(X246 = str_remove_all(X246,"\\|")) %>% 
  group_by(ZA_UWAGI) %>% 
  mutate(X246 = paste(X246,collapse = "|")) %>% 
  ungroup() %>% 
  unique()

wspolwydania_fix$X246 <- marc_field_246$X246

# podział na dwa rekordy
wspolwydania_fix <- wspolwydania_fix %>%
  cSplit(c("X245", "X246"), sep = "|", direction = "long") %>% 
  filter(!is.na(X245))

# zmiana pola ZA_UWAGI na wartość unikatową
wspolwydania_fix %$%  
    { ZA_UWAGI==lag(ZA_UWAGI,)} %>% 
    as.numeric() %>% 
    {.} -> wspolwydania_fix$same
wspolwydania_fix$same[1] <- 0
wspolwydania_fix <- wspolwydania_fix %>% 
  mutate(ZA_UWAGI = ifelse(same == 0, paste(rok,sprintf("%05d", as.integer(ZA_UWAGI)), "0", sep = ""), paste(rok,sprintf("%05d", as.integer(ZA_UWAGI)), "1", sep = ""))) %>% 
  select(-same)

# połączenie zbiorów
bn_ok <- bn_ok %>% 
  mutate(ZA_UWAGI = paste(rok,sprintf("%05d", as.integer(ZA_UWAGI)),sep = "")) %>% 
  bind_rows(wspolwydania_fix)
binding character and factor vector, coercing into character vectorbinding character and factor vector, coercing into character vector
chunk10 <- bn_ok
bn_ok <- chunk10
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa")
###przypisanie redaktora na podstawie osoby z 600 jako tematu - książki o twórcy
#600
marc_field_600 <- przedmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X600)%>%
  filter(X600!="") %>%
  mutate(X600=str_replace_all(X600,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X600",sep = "~",direction = "long") %>%
  filter(X600!="") %>%
  mutate(X600=str_remove_all(X600,"^\\|")) %>%
  mutate(indicator = str_replace_all(X600,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(przedmiotowa_redaktorzy$X600,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_600)[1]))
colnames(empty_table) <-subfield_list
marc_field_600<-cbind(marc_field_600,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_600$X600 <- str_replace(marc_field_600$X600,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_600[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_600$X600),str_replace_all(gsub(string,"\\3",marc_field_600$X600),"\\${2}.", "~"),NA)
}
marc_field_600 <- marc_field_600 %>%
  select(ZA_UWAGI,`$a`,`$d`,`$c`) %>%
  mutate(name = ifelse(!is.na(`$c`)&substr(`$c`,nchar(`$c`),nchar(`$c`))==";",paste(`$a`,`$c`,`$d`,sep = " "),ifelse(!is.na(`$d`),paste(`$a`,`$d`,sep = " "),as.character(`$a`)))) %>%
  select(ZA_UWAGI,name) %>%
  mutate(name = str_replace(name,"(\\))(\\.$)","\\1"),
         name = str_replace(name, "([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)","\\1"))

marc_field_600 <- marc_field_600 %>%
  unique() %>%
  inner_join(.,pbl_viaf,by = c("name" = "BN_name")) %>%
  left_join(.,PBL_tworcy,by = c("pbl_id"="TW_TWORCA_ID")) %>%
  left_join(.,redaktorzy_dzialow,by = c("TW_DZ_DZIAL_ID"="DZ_DZIAL_ID")) %>%
  select(ZA_UWAGI,TW_TWORCA_ID=pbl_id,TW_NAZWISKO,TW_IMIE,TW_DZ_DZIAL_ID,DZ_NAZWA=DZ_NAZWA.x,redaktor_dzialu)
count <- as.data.frame(table(marc_field_600$ZA_UWAGI))
marc_field_600 <- merge(marc_field_600,count,by.x = "ZA_UWAGI", by.y = "Var1") %>%
  filter(Freq<2) %>%
  select(-Freq) %>%
  rename(DZ_DZIAL_ID=TW_DZ_DZIAL_ID) %>%
  mutate(RZ_RODZAJ_ID = 2,
         RZ_NAZWA = "książka o twórcy (przedmiotowa)")

###przypisanie do redaktorów na podstawie literatury z pola 655
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  filter(ZA_UWAGI %notin% marc_field_600$ZA_UWAGI)

#655
marc_field_655 <- przedmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X655)%>%
  filter(X655!="") %>%
  mutate(X655=str_replace_all(X655,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X655",sep = "~",direction = "long") %>%
  filter(X655!="") %>%
  mutate(X655=str_remove_all(X655,"^\\|")) %>%
  mutate(indicator = str_replace_all(X655,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(przedmiotowa_redaktorzy$X655,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_655)[1]))
colnames(empty_table) <-subfield_list
marc_field_655<-cbind(marc_field_655,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_655$X655 <- str_replace(marc_field_655$X655,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_655[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_655$X655),str_replace_all(gsub(string,"\\3",marc_field_655$X655),"\\${2}.", "~"),NA)
}

marc_field_655 <- marc_field_655 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

PBL_literatury_obce <- PBL_dzialy_path %>%
  filter(NAD_DZ_DZIAL_ID==30) %>%
  select(1,2) %>%
  left_join(.,redaktorzy_dzialow,by = "DZ_DZIAL_ID") %>%
  filter(!is.na(redaktor_dzialu)) %>%
  select(1,DZ_NAZWA = 2,4) %>%
  mutate(nazwa = substr(str_replace(DZ_NAZWA, "(.*?)( )(.*?)","\\3"),1,nchar(str_replace(DZ_NAZWA, "(.*?)( )(.*?)","\\3"))-1),
         nazwa = ifelse(nazwa=="romska (cygańska","romsk|cygańsk",as.character(nazwa)))

reczne <- data.frame(DZ_DZIAL_ID = c(32,32,32,32,59,86,107,149,67,69,34,34,34,34,34,55,32,99,34),DZ_NAZWA = c("Literatura brytyjska i irlandzka","Literatura brytyjska i irlandzka","Literatura brytyjska i irlandzka","Literatura brytyjska i irlandzka","Literatura grecka starożytna","Literatura łacińska średniowieczna","Literatura syryjska","Literatura esperanto","Literatura holenderska","Literatury Indii","Literatury Afryki Subsaharyjskiej","Literatury Afryki Subsaharyjskiej","Literatury Afryki Subsaharyjskiej","Literatury Afryki Subsaharyjskiej","Literatury Afryki Subsaharyjskiej", "Literatura egipsko-arabska", "Literatura brytyjska i irlandzka","Literatura palestyńsko-arabska","Literatury Afryki Subsaharyjskiej"), redaktor_dzialu = c("BEATAK","BEATAK","BEATAK","BEATAK","BEATAS","BEATAS","BEATAD","CEZARY","TOMASZU","EWA","EWA","EWA","EWA","EWA","EWA","BEATAD","BEATAK","BEATAD","EWA"), nazwa = c("angielsk","szkock","irlandzk","walijsk","greck","łacińsk","syryjsk","esperanck","niderlandzk","indyjsk","południowoafryka","senegalsk","nigeryjsk","afrykańsk","ruandyjsk","egipsk. nowożytn","celtyck","palestyńsk","somalijsk"))

PBL_literatury_obce <- rbind(PBL_literatury_obce,reczne)

marc_field_655 <- sqldf("select *
                            from marc_field_655 a
                            left join PBL_literatury_obce b on a.`$a` like ('%'||b.nazwa||'%')") %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_655$same <- cumsum(!duplicated(marc_field_655[1]))
marc_field_655 <- marc_field_655[!duplicated(marc_field_655$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(marc_field_600))
###przypisanie do redaktorów na podstawie literatury z pola 650
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  filter(ZA_UWAGI %notin% marc_field_600$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% marc_field_655$ZA_UWAGI)

#650
marc_field_650 <- przedmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X650)%>%
  filter(X650!="") %>%
  mutate(X650=str_replace_all(X650,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X650",sep = "~",direction = "long") %>%
  filter(X650!="") %>%
  mutate(X650=str_remove_all(X650,"^\\|")) %>%
  mutate(indicator = str_replace_all(X650,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(przedmiotowa_redaktorzy$X650,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_650)[1]))
colnames(empty_table) <-subfield_list
marc_field_650<-cbind(marc_field_650,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_650$X650 <- str_replace(marc_field_650$X650,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_650[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_650$X650),str_replace_all(gsub(string,"\\3",marc_field_650$X650),"\\${2}.", "~"),NA)
}

marc_field_650 <- marc_field_650 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_650 <- sqldf("select *
                            from marc_field_650 a
                            left join PBL_literatury_obce b on a.`$a` like ('%'||b.nazwa||'%')") %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_650$same <- cumsum(!duplicated(marc_field_650[1]))
marc_field_650 <- marc_field_650[!duplicated(marc_field_650$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(marc_field_600))

do_przedmiotowej1 <- rbind(marc_field_600,marc_field_655,marc_field_650)

#przypisanie na podstawie deskryptorów tematycznych z 650 i 655
zapisy <- RJDBC::dbGetQuery(PBL,
                            "select z.za_zapis_id, dz.dz_dzial_id, dz.dz_nazwa, rz.rz_rodzaj_id, rz.rz_nazwa, z.za_status_imp, z.za_uwagi
                            from pbl_zapisy z
                            join pbl_dzialy dz on dz.dz_dzial_id=z.za_dz_dzial1_id
                            join pbl_rodzaje_zapisow rz on rz.rz_rodzaj_id=z.za_rz_rodzaj1_id
                            where z.za_uwagi like '%import%'") %>%
  mutate(pracownik_pbl = str_extract(ZA_UWAGI, "(?<=akceptuje:)([A-Z]*)")) %>%
  select(-ZA_UWAGI)
nazwy_lit_obcych <- str_replace_all(paste(PBL_literatury_obce$nazwa,collapse = "|"),"\\(","\\\\(")
#aktualizacja - dodaj do skryptu listę z ostatnim brakującym zaimportowanym rocznikiem
poprzednie_importy <- rbind(listy_2004,listy_2005,listy_2006,listy_2007,listy_2008, listy_2009, listy_2010) %>%
  full_join(.,zapisy,by = "ZA_ZAPIS_ID") %>%
  select(ZA_ZAPIS_ID,X650,X655,DZ_DZIAL_ID,DZ_NAZWA,RZ_RODZAJ_ID,RZ_NAZWA,pracownik_pbl,ZA_STATUS_IMP) %>%
  mutate(X650 = str_remove_all(X650,"\\\\7"),
         X655 = str_remove_all(X655,"\\\\7"),
         X650 = str_remove_all(str_replace_all(X650,"(\\$a)","\\\\#7\\1"),"#"),
         X655 = str_remove_all(str_replace_all(X655,"(\\$a)","\\\\#7\\1"),"#")) %>%
  unique() %>%
  filter(RZ_RODZAJ_ID %notin% c(0,1,2,250,764)) %>%
  arrange(pracownik_pbl,DZ_DZIAL_ID) %>%
  filter(!grepl(nazwy_lit_obcych,X650)&!grepl(nazwy_lit_obcych,X655)) %>%
  filter(!is.na(pracownik_pbl)) %>%
  filter(ZA_STATUS_IMP %in% c("IOK","IPC"))

#przypisanie na podstawie częstotliwości deskryptorów 655
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  filter(ZA_UWAGI %notin% do_przedmiotowej1$ZA_UWAGI)

deskryptory655 <- poprzednie_importy %>%
  select(X655,pracownik_pbl,DZ_DZIAL_ID,DZ_NAZWA) %>%
  filter(!is.na(X655)) %>%
  unite(data=.,col = "deskryptor655", sep = "~")

deskryptory655 <- as.data.frame(table(deskryptory655$deskryptor655)) %>%
  cSplit(.,"Var1",sep = "~",direction = "wide") %>%
  rename(X655 = Var1_1,
         redaktor_dzialu = Var1_2,
         DZ_DZIAL_ID = Var1_3,
         DZ_NAZWA = Var1_4) %>%
  mutate(X655 = str_remove_all(X655,"\\\\7\\$a"),
         X655 = str_remove_all(X655,"\\$2DBN"),
         X655 = str_replace_all(X655,"\\$.|\\|"," "),
         X655 = str_replace_all(X655," ",".*"),
         X655 = str_replace_all(X655, "[^\\p{L}\\d\\*\\.\\-\\s]", "")) %>%
  arrange(X655,-Freq,DZ_NAZWA)

deskryptory655$id_grupy <- cumsum(!duplicated(deskryptory655[2]))
deskryptory655 <- deskryptory655[!duplicated(deskryptory655$id_grupy),] %>%
  select(-id_grupy) %>%
  arrange(-Freq)

x <- 1:length(deskryptory655$X655)
test <- data.frame(stringsAsFactors = FALSE)

for (i in x) {
  progress(match(i,x), max.value = length(x))
    do_przedmiotowej2 <- przedmiotowa_redaktorzy %>%
      mutate(redaktor_dzialu = ifelse(grepl(deskryptory655$X655[i],X655),as.character(deskryptory655$redaktor_dzialu)[i],NA),
             ile = ifelse(grepl(deskryptory655$X655[i],X655),as.integer(deskryptory655$Freq)[i],NA),
             co = ifelse(grepl(deskryptory655$X655[i],X655),as.character(deskryptory655$X655)[i],NA),
             DZ_DZIAL_ID = ifelse(grepl(deskryptory655$X655[i],X655),as.integer(deskryptory655$DZ_DZIAL_ID)[i],NA),
             DZ_NAZWA = ifelse(grepl(deskryptory655$X655[i],X655),as.character(deskryptory655$DZ_NAZWA)[i],NA)) %>%
      filter(!is.na(redaktor_dzialu))
    if (length(do_przedmiotowej2$redaktor_dzialu)>0) {
      test <- rbind(test,do_przedmiotowej2)
    } else {}
    
}
count <- as.data.frame(table(test$ZA_UWAGI))
do_przedmiotowej2 <- merge(test,count, by.x = "ZA_UWAGI",by.y = "Var1") %>%
  mutate(dlugosc = nchar(co)) %>%
  arrange(-Freq,ZA_UWAGI,-dlugosc,-ile)

do_przedmiotowej2$id_grupy <- cumsum(!duplicated(do_przedmiotowej2[1]))
do_przedmiotowej2 <- do_przedmiotowej2[!duplicated(do_przedmiotowej2$id_grupy),] %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(do_przedmiotowej1))
#przypisanie na podstawie częstotliwości deskryptorów 650
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  filter(ZA_UWAGI %notin% do_przedmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_przedmiotowej2$ZA_UWAGI)

deskryptory650 <- poprzednie_importy %>%
  select(X650,pracownik_pbl,DZ_DZIAL_ID,DZ_NAZWA) %>%
  filter(!is.na(X650)) %>%
  unite(data=.,col = "deskryptor650", sep = "~")

deskryptory650 <- as.data.frame(table(deskryptory650$deskryptor650)) %>%
  cSplit(.,"Var1",sep = "~",direction = "wide") %>%
  rename(X650 = Var1_1,
         redaktor_dzialu = Var1_2,
         DZ_DZIAL_ID = Var1_3,
         DZ_NAZWA = Var1_4) %>%
  mutate(X650 = str_remove_all(X650,"\\\\7\\$a"),
         X650 = str_remove_all(X650,"\\$2DBN"),
         X650 = str_remove_all(X650,"\\\\\\\\"),
         X650 = str_replace_all(X650,"\\$.|\\|"," "),
         X650 = str_replace_all(X650," ",".*"),
         X650 = str_replace_all(X650, "[^\\p{L}\\d\\*\\.\\-\\s]", "")) %>%
  arrange(X650,-Freq,DZ_NAZWA)

deskryptory650$id_grupy <- cumsum(!duplicated(deskryptory650[2]))
deskryptory650 <- deskryptory650[!duplicated(deskryptory650$id_grupy),] %>%
  select(-id_grupy) %>%
  arrange(-Freq)

x <- 1:length(deskryptory650$X650)
test <- data.frame(stringsAsFactors = FALSE)
for (i in x) {
  progress(match(i,x), max.value = length(x))
    do_przedmiotowej3 <- przedmiotowa_redaktorzy %>%
      mutate(redaktor_dzialu = ifelse(grepl(deskryptory650$X650[i],X650),as.character(deskryptory650$redaktor_dzialu)[i],NA),
             ile = ifelse(grepl(deskryptory650$X650[i],X650),as.integer(deskryptory650$Freq)[i],NA),
             co = ifelse(grepl(deskryptory650$X650[i],X650),as.character(deskryptory650$X650)[i],NA),
             DZ_DZIAL_ID = ifelse(grepl(deskryptory650$X650[i],X650),as.integer(deskryptory650$DZ_DZIAL_ID)[i],NA),
             DZ_NAZWA = ifelse(grepl(deskryptory650$X650[i],X650),as.character(deskryptory650$DZ_NAZWA)[i],NA)) %>%
      filter(!is.na(redaktor_dzialu))
    if (length(do_przedmiotowej3$redaktor_dzialu)>0) {
      test <- rbind(test,do_przedmiotowej3)
    } else {}
    
}
count <- as.data.frame(table(test$ZA_UWAGI))
do_przedmiotowej3 <- merge(test,count, by.x = "ZA_UWAGI",by.y = "Var1") %>%
  mutate(dlugosc = nchar(co)) %>%
  arrange(-Freq,ZA_UWAGI,-dlugosc,-ile)

do_przedmiotowej3$id_grupy <- cumsum(!duplicated(do_przedmiotowej3[1]))
do_przedmiotowej3 <- do_przedmiotowej3[!duplicated(do_przedmiotowej3$id_grupy),] %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(do_przedmiotowej1))

do_przedmiotowej <- rbind(do_przedmiotowej1,do_przedmiotowej2,do_przedmiotowej3)
#przypisanie przedmiotowej na podstawie słownika pojęć
do_przedmiotowej <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  left_join(.,do_przedmiotowej,by="ZA_UWAGI") %>%
#przypisanie na podstawie zdefiniowanych słów (dopisanie do gotowego pliku)
  mutate(redaktor_dzialu = ifelse(is.na(redaktor_dzialu),
                                  ifelse(grepl("teatr",X655,ignore.case = TRUE)|grepl("teatr",X650,ignore.case = TRUE),"MARTAK",
                                         ifelse(grepl("film",X655,ignore.case = TRUE)|grepl("film",X650,ignore.case = TRUE),"OLA",
                                                    ifelse(grepl("telewizj",X655,ignore.case = TRUE)|grepl("telewizj",X650,ignore.case = TRUE),"EWA",
                                                           ifelse(grepl("radio",X655,ignore.case = TRUE)|grepl("radio",X650,ignore.case = TRUE),"EWA",
                                                                  ifelse(grepl("czasopism",X655,ignore.case = TRUE)|grepl("czasopism",X650,ignore.case = TRUE),"TOMASZ",
                                                                         ifelse(grepl("wydawnictw",X655,ignore.case = TRUE)|grepl("wydawnictw",X650,ignore.case = TRUE),"BARBARAW",
                                                                                ifelse(grepl("od 1989",X655,ignore.case = TRUE)|grepl("od 1989",X650,ignore.case = TRUE),"PAULINA",
                                                                                       ifelse(grepl("ćwicze|zadan|szkoł|szkół|scenariusz zajęć|scenariusze zajęć|zajęć|pomocnicz|podręcznik",X655,ignore.case = TRUE)|grepl("ćwicze|zadan|szkoł|szkół|scenariusz zajęć|scenariusze zajęć|zajęć|pomocnicz|podręcznik",X650,ignore.case = TRUE),"KAROLINA",
                                                                                              ifelse(grepl("sceniczn",X655,ignore.case = TRUE)|grepl("sceniczn",X650,ignore.case = TRUE),"MARTAK",
                                                                                                     ifelse(grepl("teoria|socjologia|antropologia|metafizyk|interpretac|filozof",X655,ignore.case = TRUE)|grepl("teoria|socjologia|antropologia|metafizyk|interpretac|filozof",X650,ignore.case = TRUE),"PAULINA",
                                                                                                            ifelse(grepl("ludow|zwycz|obycz|folkl",X655,ignore.case = TRUE)|grepl("ludow|zwycz|obycz|folkl",X650,ignore.case = TRUE),"ANIA",
                                                                                                                   ifelse(grepl("katolic|biblia|biblij|kościół",X655,ignore.case = TRUE)|grepl("katolic|biblia|biblij|kościół",X650,ignore.case = TRUE),"BEATAS",
                                                                                                                          ifelse(grepl("druk|rękopi|inkunab|inwent|bibliogr|słownik|bibliotek",X655,ignore.case = TRUE)|grepl("druk|rękopi|inkunab|inwent|bibliogr|słownik|bibliotek",X650,ignore.case = TRUE),"IZA",
                                                                                                                                 ifelse(grepl("zabawk|dziec",X655,ignore.case = TRUE)|grepl("zabawk|dziec",X650,ignore.case = TRUE),"BARBARAW",
                                                                                                                                        ifelse(grepl("tematyka|20-21 w.|21 w.",X655,ignore.case = TRUE)|grepl("tematyka|20-21 w.|21 w.",X650,ignore.case = TRUE),"PAULINA",
                                                                                                                                               ifelse(grepl("19|18|17|16|15|14|13",X655,ignore.case = TRUE)|grepl("19|18|17|16|15|14|13",X650,ignore.case = TRUE),"GOSIA",
                                                                                                                                                      ifelse(grepl("polityk",X655,X655,ignore.case = TRUE)|grepl("polityk",X650,X655,ignore.case = TRUE),"PAULINA",
                                                                                                                                                             ifelse(grepl("historia",X655,X655,ignore.case = TRUE)|grepl("historia",X650,X655,ignore.case = TRUE),"GOSIA",NA)))))))))))))))))),as.character(redaktor_dzialu)),
         RZ_RODZAJ_ID = ifelse(is.na(RZ_RODZAJ_ID),21,as.integer(RZ_RODZAJ_ID)),
         RZ_NAZWA = ifelse(is.na(RZ_NAZWA),"książka w haśle rzeczowym",as.character(RZ_NAZWA))) %>%
  select(names(do_przedmiotowej1)) %>%
  filter(!is.na(redaktor_dzialu))
#wydobycie zbioru, który ciągle nie ma przypisanych redaktorów do przedmiotowej
przedmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  filter(ZA_UWAGI %notin% do_przedmiotowej$ZA_UWAGI)
#dla książek, które mają kilku autorów w osoba_bn_temat - przypisanie do redaktora powszechnej - BEATAD?
do_przedmiotowej4 <- przedmiotowa_redaktorzy %>%
  filter(!is.na(osoba_bn_temat)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym",
         redaktor_dzialu = "BEATAD") %>%
  select(names(do_przedmiotowej1))
#dla książek, które nie mają wypełnionego osoba_bn_autor - przypisanie do Marty z x? czy losowo do kogoś?
do_przedmiotowej5 <- przedmiotowa_redaktorzy %>%
  filter(is.na(osoba_bn_autor)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym",
         redaktor_dzialu = "MARTAKx") %>%
  select(names(do_przedmiotowej1))
#połaczenie wszystkich przedmiotowych z przypisanymi redaktorami w jeden plik
do_przedmiotowej <- rbind(do_przedmiotowej,do_przedmiotowej4,do_przedmiotowej5)
#dla książek, które mają wypełnione osoba_bn_autor - zmiana na podmiotową do ręcznego przejrzenia i przypisanie redaktorów
###przypisanie do podmiotowej!!!!!!!!!!!!!!!!!!!###############
do_podmiotowej1 <- przedmiotowa_redaktorzy %>%
  filter(!is.na(osoba_bn_autor))
#trzeba zaktualizować w bn_ok, że teraz to są podmiotowe
#lista rekordów do przepisania z przedmiotowej na podmiotową
lista_do_przepisania <- do_podmiotowej1$ZA_UWAGI
bn_ok$rodzaj_ksiazki[bn_ok$ZA_UWAGI %in% lista_do_przepisania] <- "podmiotowa"
#to, co było podmiotową bez autora powinno trafić do literatury anonimowej z pracownikiem przedm, więc teraz trzeba to przepisać do przedmiotowej - na końcu procesu
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa"&X100=="")
#przypisanie literatury anonimowej
#655
marc_field_655 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X655)%>%
  filter(X655!="") %>%
  mutate(X655=str_replace_all(X655,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X655",sep = "~",direction = "long") %>%
  filter(X655!="") %>%
  mutate(X655=str_remove_all(X655,"^\\|")) %>%
  mutate(indicator = str_replace_all(X655,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X655,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_655)[1]))
colnames(empty_table) <-subfield_list
marc_field_655<-cbind(marc_field_655,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_655$X655 <- str_replace(marc_field_655$X655,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_655[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_655$X655),str_replace_all(gsub(string,"\\3",marc_field_655$X655),"\\${2}.", "~"),NA)
}

marc_field_655 <- marc_field_655 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()
trim <- function (x) gsub("^\\s+|\\s+$", "", x)
PBL_literatury_anonimowe <- PBL_dzialy_path %>%
  filter(grepl("Utwory anonim",DZ_NAZWA)) %>%
  select(DZ_DZIAL_ID,DZ_NAZWA,NAD_NAD_DZ_DZIAL_ID) %>%
  left_join(.,redaktorzy_dzialow,by = c("NAD_NAD_DZ_DZIAL_ID"="DZ_DZIAL_ID")) %>%
  select(1,DZ_NAZWA = 2,5) %>%
  filter(DZ_DZIAL_ID %notin% c(1922,1983)) %>%
  group_by(DZ_DZIAL_ID) %>%
  mutate(nazwa = paste(trim(unlist(str_extract_all(DZ_NAZWA,"(?<=\\()(.*?)(?=\\(|\\))"))),collapse = "|"),
         nazwa = str_remove_all(nazwa,"(.)(?=\\||$)"),
         nazwa = str_remove(nazwa,"literatur. "),
         nazwa = ifelse(nazwa=="","polsk",as.character(nazwa)),
         redaktor_dzialu = ifelse(is.na(redaktor_dzialu),"ANIA",as.character(redaktor_dzialu))) %>%
  ungroup()

reczne <- data.frame(DZ_DZIAL_ID = c(899,694,694,1174,145,1220),DZ_NAZWA = c("Utwory anonimowe (Indii)","Utwory anonimowe (brytyjska i irlandzka)","Utwory anonimowe (brytyjska i irlandzka)","Utwory anonimowe (starosłowiańska)","Utwory anonimowe i ulotne","Utwory anonimowe (turecka)"), redaktor_dzialu = c("EWA","BEATAK","BEATAK","BEATAD","ANIA","EWA"), nazwa = c("indyjsk","walijsk","angielsk","starorusk","kaszubsk","nogajsk"))

PBL_literatury_anonimowe <- rbind(PBL_literatury_anonimowe,reczne)

marc_field_655 <- sqldf("select *
                            from marc_field_655 a
                            left join PBL_literatury_anonimowe b on a.`$a` like ('%'||b.nazwa||'%')") %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_655$same <- cumsum(!duplicated(marc_field_655[1]))
marc_field_655 <- marc_field_655[!duplicated(marc_field_655$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(marc_field_600))
###przypisanie do redaktorów literatury anonimowej na podstawie literatury z pola 650
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa"&X100=="") %>%
  filter(ZA_UWAGI %notin% marc_field_655$ZA_UWAGI)

#650
marc_field_650 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X650)%>%
  filter(X650!="") %>%
  mutate(X650=str_replace_all(X650,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X650",sep = "~",direction = "long") %>%
  filter(X650!="") %>%
  mutate(X650=str_remove_all(X650,"^\\|")) %>%
  mutate(indicator = str_replace_all(X650,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X650,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_650)[1]))
colnames(empty_table) <-subfield_list
marc_field_650<-cbind(marc_field_650,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_650$X650 <- str_replace(marc_field_650$X650,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_650[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_650$X650),str_replace_all(gsub(string,"\\3",marc_field_650$X650),"\\${2}.", "~"),NA)
}

marc_field_650 <- marc_field_650 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_650 <- sqldf("select *
                            from marc_field_650 a
                            left join PBL_literatury_anonimowe b on a.`$a` like ('%'||b.nazwa||'%')") %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_650$same <- cumsum(!duplicated(marc_field_650[1]))
marc_field_650 <- marc_field_650[!duplicated(marc_field_650$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(marc_field_600))
do_podmiotowej1 <- rbind(marc_field_655,marc_field_650)

#co zrobić z pozostałymi podmiotowymi anonimowymi, których nie udało się przypisać?
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa"&X100=="") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym",
         redaktor_dzialu = "KAROLINA") %>%
  select(names(do_przedmiotowej1))
do_podmiotowej1 <- rbind(do_podmiotowej1,podmiotowa_redaktorzy)

#lista rekordów do przepisania z podmiotowej na przedmiotową (chodzi o literaturę anonimową)
lista_do_przepisania <- do_podmiotowej1$ZA_UWAGI
bn_ok$rodzaj_ksiazki[bn_ok$ZA_UWAGI %in% lista_do_przepisania] <- "przedmiotowa"

#przetworzenie całej podmiotowej (bo plik do_podmiotowej1 już jest w środku)
###przypisanie redaktora na podstawie osoby z 100 jako twórcy (autora) (tabela pbl-bn-viaf)- książki twórcy
#100
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI)

marc_field_100 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
marc_field_100 <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`,`$d`,`$c`) %>%
  mutate(name = ifelse(!is.na(`$c`)&substr(`$c`,nchar(`$c`),nchar(`$c`))==";",paste(`$a`,`$c`,`$d`,sep = " "),ifelse(!is.na(`$d`),paste(`$a`,`$d`,sep = " "),as.character(`$a`)))) %>%
  select(ZA_UWAGI,name) %>%
  mutate(name = str_replace(name,"(\\))(\\.$)","\\1"),
         name = str_replace(name, "([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)","\\1")) %>%
  group_by(ZA_UWAGI) %>%
  mutate(name = paste(name,collapse = "|")) %>%
  ungroup() %>%
  unique()

do_podmiotowej2 <- marc_field_100 %>%
  unique() %>%
  inner_join(.,pbl_viaf,by = c("name" = "BN_name")) %>%
  inner_join(.,PBL_tworcy,by = c("pbl_id"="TW_TWORCA_ID")) %>%
  left_join(.,redaktorzy_dzialow,by = c("TW_DZ_DZIAL_ID"="DZ_DZIAL_ID")) %>%
  select(ZA_UWAGI,TW_TWORCA_ID=pbl_id,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID=TW_DZ_DZIAL_ID,DZ_NAZWA=DZ_NAZWA.x,redaktor_dzialu) %>%
  mutate(RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  unique()

###przypisanie redaktora na podstawie zbieżności fraz nazewnictwa osoby z 100 z twórcą pbl (dla tych, które nie zostały zmapowane na linii pbl-bn) - książki twórcy
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej2$ZA_UWAGI)

#100
marc_field_100 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}

do_podmiotowej3 <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique() %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(`$a`,collapse = "|")) %>%
  ungroup() %>%
  unique() %>%
  mutate(TW_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                              ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
         TW_IMIE = ifelse(grepl("\\|",`$a`),"*",
                          ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*")),
         nazwa = str_replace_all(str_to_lower(paste(TW_NAZWISKO,TW_IMIE,sep = "")), "\\W", "")) %>%
  select(ZA_UWAGI,TW_NAZWISKO,TW_IMIE,nazwa) %>% 
  inner_join(.,PBL_tworcy_podm %>% select(TW_TWORCA_ID,DZ_DZIAL_ID=TW_DZ_DZIAL_ID,DZ_NAZWA,nazwa),by="nazwa")
do_podmiotowej3$same <- cumsum(!duplicated(do_podmiotowej3[1:4]))
do_podmiotowej3 <- do_podmiotowej3 %>% 
  arrange(ZA_UWAGI,TW_NAZWISKO,TW_IMIE,nazwa,TW_TWORCA_ID)
do_podmiotowej3 <- do_podmiotowej3[!duplicated(do_podmiotowej3$same),] %>% 
  mutate(DZ_DZIAL_ID = as.integer(DZ_DZIAL_ID),
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>% 
  inner_join(.,redaktorzy_dzialow %>% select(DZ_DZIAL_ID,redaktor_dzialu),by="DZ_DZIAL_ID") %>% 
  select(names(do_podmiotowej1))

###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie kodu literatury z pola X080 i tworzenie nowych twórców na podstawie pola 100
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej2$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej3$ZA_UWAGI)

podmiotowa_redaktorzy <- sqldf("select *
                            from podmiotowa_redaktorzy a
                            join BN_PBL_lista_literatur b on a.X080 like ('%'||b.ukd_ogolne||'%')")

###dodawanie nazewnictw nowych twórców
#100
marc_field_100 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}

marc_field_100 <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique() %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(`$a`,collapse = "|")) %>%
  ungroup() %>%
  unique() %>%
  mutate(TW_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                              ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
         TW_IMIE = ifelse(grepl("\\|",`$a`),"*",
                          ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
  select(ZA_UWAGI,TW_NAZWISKO,TW_IMIE)
#join na podstawie identycznego id
podmiotowa_redaktorzy <- podmiotowa_redaktorzy %>%
  left_join(.,marc_field_100,by="ZA_UWAGI") %>%
  mutate(pbl_nazwa = as.character(pbl_nazwa)) %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa_prosta=="polsk"&substr(pbl_nazwa,nchar(pbl_nazwa),nchar(pbl_nazwa))!=substr(TW_NAZWISKO,1,1),NA,as.integer(pbl_id))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

count <- as.data.frame(table(podmiotowa_redaktorzy$ZA_UWAGI))
podmiotowa_redaktorzy <- merge(podmiotowa_redaktorzy,count,by.x = "ZA_UWAGI",by.y = "Var1") %>%
  mutate(dlugosc = nchar(ukd_ogolne)) %>%
  arrange(-Freq,ZA_UWAGI,-dlugosc,pbl_id)
podmiotowa_redaktorzy$same <- cumsum(!duplicated(podmiotowa_redaktorzy[1]))
do_podmiotowej4 <- podmiotowa_redaktorzy[!duplicated(podmiotowa_redaktorzy$same),] %>%
  mutate(TW_TWORCA_ID = NA) %>%
  rename(DZ_NAZWA = pbl_nazwa) %>%
  select(ZA_UWAGI,TW_TWORCA_ID,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  mutate(RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)")

###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie literatury z pola 655 i tworzenie nowych twórców na podstawie pola 100
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej2$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej3$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej4$ZA_UWAGI)

#655
marc_field_655 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X655)%>%
  filter(X655!="") %>%
  mutate(X655=str_replace_all(X655,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X655",sep = "~",direction = "long") %>%
  filter(X655!="") %>%
  mutate(X655=str_remove_all(X655,"^\\|")) %>%
  mutate(indicator = str_replace_all(X655,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X655,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_655)[1]))
colnames(empty_table) <-subfield_list
marc_field_655<-cbind(marc_field_655,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_655$X655 <- str_replace(marc_field_655$X655,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_655[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_655$X655),str_replace_all(gsub(string,"\\3",marc_field_655$X655),"\\${2}.", "~"),NA)
}

marc_field_655 <- marc_field_655 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_655 <- sqldf("select *
                            from marc_field_655 a
                            left join PBL_hasla_osobowe b on a.`$a` like ('%'||b.nazwa||'%')")

###dodawanie nazewnictw nowych twórców
#100
marc_field_100 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}

marc_field_100 <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique() %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(`$a`,collapse = "|")) %>%
  ungroup() %>%
  unique() %>%
  mutate(TW_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                              ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
         TW_IMIE = ifelse(grepl("\\|",`$a`),"*",
                          ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
  select(ZA_UWAGI,TW_NAZWISKO,TW_IMIE)
#join na podstawie identycznego id
marc_field_655 <- marc_field_655 %>%
  left_join(.,marc_field_100,by="ZA_UWAGI") %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa=="polsk"&substr(DZ_NAZWA,nchar(DZ_NAZWA),nchar(DZ_NAZWA))!=substr(TW_NAZWISKO,1,1),NA,as.integer(DZ_DZIAL_ID))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)
    
marc_field_655$same <- cumsum(!duplicated(marc_field_655[1]))
do_podmiotowej5 <- marc_field_655[!duplicated(marc_field_655$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,TW_NAZWISKO,TW_IMIE,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  select(names(marc_field_600))

###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie literatury z pola 655 i tworzenie nowych twórców na podstawie pola 100
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej2$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej3$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej4$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej5$ZA_UWAGI)

#650
marc_field_650 <- podmiotowa_redaktorzy %>%
  select(ZA_UWAGI,X650)%>%
  filter(X650!="") %>%
  mutate(X650=str_replace_all(X650,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X650",sep = "~",direction = "long") %>%
  filter(X650!="") %>%
  mutate(X650=str_remove_all(X650,"^\\|")) %>%
  mutate(indicator = str_replace_all(X650,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(podmiotowa_redaktorzy$X650,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_650)[1]))
colnames(empty_table) <-subfield_list
marc_field_650<-cbind(marc_field_650,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_650$X650 <- str_replace(marc_field_650$X650,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_650[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_650$X650),str_replace_all(gsub(string,"\\3",marc_field_650$X650),"\\${2}.", "~"),NA)
}

marc_field_650 <- marc_field_650 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_650 <- sqldf("select *
                            from marc_field_650 a
                            left join PBL_hasla_osobowe b on a.`$a` like ('%'||b.nazwa||'%')")  %>%
  left_join(.,marc_field_100,by="ZA_UWAGI") %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa=="polsk"&substr(DZ_NAZWA,nchar(DZ_NAZWA),nchar(DZ_NAZWA))!=substr(TW_NAZWISKO,1,1),NA,as.integer(DZ_DZIAL_ID))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_650$same <- cumsum(!duplicated(marc_field_650[1]))
do_podmiotowej6 <- marc_field_650[!duplicated(marc_field_650$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,TW_NAZWISKO,TW_IMIE,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  select(names(marc_field_600))
#co zostało do podmiotowej?
podmiotowa_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  filter(ZA_UWAGI %notin% do_podmiotowej1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej2$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej3$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej4$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej5$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_podmiotowej6$ZA_UWAGI)
#naddatek przypisać Marcie jako podmiotową bez twórców i czy_automatycznie <- nie
do_podmiotowej7 <- podmiotowa_redaktorzy %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)",
         redaktor_dzialu = "MARTAKx") %>%
  select(names(do_podmiotowej5))
#trzeba zaktualizować w bn_ok, że teraz to nie są automatyczne
lista_do_przepisania <- do_podmiotowej7$ZA_UWAGI
bn_ok$czy_automatycznie[bn_ok$ZA_UWAGI %in% lista_do_przepisania] <- "nie"
#połączenie przydziału podmiotowych w jeden plik
do_podmiotowej <- rbind(do_podmiotowej1,do_podmiotowej2,do_podmiotowej3,do_podmiotowej4,do_podmiotowej5,do_podmiotowej6,do_podmiotowej7)

#przypisanie antologii do Tomka i do literatur na podstawie 080
antologie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki == "antologia")
PBL_dzialy_antologie <- PBL_dzialy_path %>%
  filter(grepl("antolog",DZ_NAZWA,ignore.case = TRUE)) %>%
  left_join(.,redaktorzy_dzialow,by="DZ_DZIAL_ID") %>%
  select(DZ_DZIAL_ID,DZ_NAZWA=DZ_NAZWA.x,redaktor_dzialu) %>%
  mutate(redaktor_dzialu = ifelse(is.na(redaktor_dzialu),"TOMASZ",as.character(redaktor_dzialu)))

PBL_dzialy_antologie <- sqldf("select *
                            from PBL_dzialy_antologie a
                            left join (select c.ukd_ogolne,c.nazwa_prosta,c.pbl_id,c.pbl_nazwa,c.pbl_id_literatury,c.pbl_literatura from BN_PBL_lista_literatur c) b on a.DZ_NAZWA like ('%'||b.nazwa_prosta||'%')") %>%
  mutate(ukd_ogolne = ifelse(DZ_DZIAL_ID==146,"821.162.1",as.character(ukd_ogolne)),
         nazwa_prosta = ifelse(DZ_DZIAL_ID==146,"polsk",as.character(nazwa_prosta))) %>%
  filter(!is.na(ukd_ogolne)) %>%
  filter(DZ_DZIAL_ID!=744) %>%
  select(1:5) 

antologie_redaktorzy <- sqldf("select *
                            from antologie_redaktorzy a
                            join PBL_dzialy_antologie b on a.X080 like ('%'||b.ukd_ogolne||'%')")

count <- as.data.frame(table(antologie_redaktorzy$ZA_UWAGI))
antologie_redaktorzy <- merge(antologie_redaktorzy,count,by.x = "ZA_UWAGI",by.y = "Var1") %>%
  mutate(dlugosc = nchar(ukd_ogolne)) %>%
  arrange(-Freq,ZA_UWAGI,-dlugosc,DZ_DZIAL_ID)
antologie_redaktorzy$same <- cumsum(!duplicated(antologie_redaktorzy[1]))
do_antologii1 <- antologie_redaktorzy[!duplicated(antologie_redaktorzy$same),] %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA) %>%
  select(ZA_UWAGI,TW_TWORCA_ID,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  mutate(RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym")
#przypisanie antologii do Tomka i do literatur na podstawie 665
antologie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki == "antologia") %>%
  filter(ZA_UWAGI %notin% do_antologii1$ZA_UWAGI)

marc_field_655 <- antologie_redaktorzy %>%
  select(ZA_UWAGI,X655)%>%
  filter(X655!="") %>%
  mutate(X655=str_replace_all(X655,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X655",sep = "~",direction = "long") %>%
  filter(X655!="") %>%
  mutate(X655=str_remove_all(X655,"^\\|")) %>%
  mutate(indicator = str_replace_all(X655,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(antologie_redaktorzy$X655,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_655)[1]))
colnames(empty_table) <-subfield_list
marc_field_655<-cbind(marc_field_655,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_655$X655 <- str_replace(marc_field_655$X655,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_655[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_655$X655),str_replace_all(gsub(string,"\\3",marc_field_655$X655),"\\${2}.", "~"),NA)
}

marc_field_655 <- marc_field_655 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_655 <- sqldf("select *
                            from marc_field_655 a
                            left join PBL_dzialy_antologie b on a.`$a` like ('%'||b.nazwa_prosta||'%')") %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_655$same <- cumsum(!duplicated(marc_field_655[1]))
do_antologii2 <- marc_field_655[!duplicated(marc_field_655$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(do_antologii1))
#przypisanie antologii do Tomka i do literatur na podstawie 665
antologie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki == "antologia") %>%
  filter(ZA_UWAGI %notin% do_antologii1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_antologii2$ZA_UWAGI)

marc_field_650 <- antologie_redaktorzy %>%
  select(ZA_UWAGI,X650)%>%
  filter(X650!="") %>%
  mutate(X650=str_replace_all(X650,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X650",sep = "~",direction = "long") %>%
  filter(X650!="") %>%
  mutate(X650=str_remove_all(X650,"^\\|")) %>%
  mutate(indicator = str_replace_all(X650,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(antologie_redaktorzy$X650,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_650)[1]))
colnames(empty_table) <-subfield_list
marc_field_650<-cbind(marc_field_650,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_650$X650 <- str_replace(marc_field_650$X650,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_650[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_650$X650),str_replace_all(gsub(string,"\\3",marc_field_650$X650),"\\${2}.", "~"),NA)
}

marc_field_650 <- marc_field_650 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_650 <- sqldf("select *
                            from marc_field_650 a
                            left join PBL_dzialy_antologie b on a.`$a` like ('%'||b.nazwa_prosta||'%')") %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_650$same <- cumsum(!duplicated(marc_field_650[1]))
do_antologii3 <- marc_field_650[!duplicated(marc_field_650$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym") %>%
  select(names(do_antologii1))
#reszta antologii bez działu po prostu przypisana do Tomka
antologie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki == "antologia") %>%
  filter(ZA_UWAGI %notin% do_antologii1$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_antologii2$ZA_UWAGI) %>%
  filter(ZA_UWAGI %notin% do_antologii3$ZA_UWAGI)

do_antologii4 <- antologie_redaktorzy %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 21,
         RZ_NAZWA = "książka w haśle rzeczowym",
         redaktor_dzialu = "TOMASZ") %>%
  select(names(do_antologii1))

do_antologii <- rbind(do_antologii1,do_antologii2,do_antologii3,do_antologii4)
###przypisanie redaktora do współwydań na podstawie osoby z 245 jako twórcy (autora) (tabela pbl-bn-viaf)- książki twórcy
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie")

do_wspolwydania1 <- wspolwydanie_redaktorzy %>% 
  select(ZA_UWAGI,X245) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         nazwisko = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         imie = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         name = paste(nazwisko,imie,sep = ", ")) %>%
  inner_join(.,pbl_viaf,by = c("name" = "BN_name")) %>%
  left_join(.,PBL_tworcy,by = c("pbl_id"="TW_TWORCA_ID")) %>%
  left_join(.,redaktorzy_dzialow,by = c("TW_DZ_DZIAL_ID"="DZ_DZIAL_ID")) %>%
  select(ZA_UWAGI,TW_TWORCA_ID=pbl_id,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID=TW_DZ_DZIAL_ID,DZ_NAZWA=DZ_NAZWA.x,redaktor_dzialu) %>%
  mutate(RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  unique()
###przypisanie redaktora na podstawie zbieżności fraz nazewnictwa osoby z 245 z twórcą pbl (dla tych, które nie zostały zmapowane na linii pbl-bn) - książki twórcy
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania1$ZA_UWAGI)

do_wspolwydania2 <- wspolwydanie_redaktorzy %>% 
  select(ZA_UWAGI,X245) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         nazwisko = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         imie = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         name = paste(nazwisko,imie,sep = ", "),
         nazwa = str_replace_all(str_to_lower(name), "\\W", "")) %>% 
  inner_join(.,PBL_tworcy_podm %>% select(TW_TWORCA_ID,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID=TW_DZ_DZIAL_ID,DZ_NAZWA,nazwa),by="nazwa")
do_wspolwydania2$same <- cumsum(!duplicated(do_wspolwydania2[1:4]))
do_wspolwydania2 <- do_wspolwydania2 %>% 
  arrange(ZA_UWAGI,nazwisko,imie,nazwa,TW_TWORCA_ID)
do_wspolwydania2 <- do_wspolwydania2[!duplicated(do_wspolwydania2$same),] %>% 
  mutate(DZ_DZIAL_ID = as.integer(DZ_DZIAL_ID),
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>% 
  inner_join(.,redaktorzy_dzialow %>% select(DZ_DZIAL_ID,redaktor_dzialu),by="DZ_DZIAL_ID") %>% 
  select(names(do_wspolwydania1))
###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie kodu literatury z pola X080 i tworzenie nowych twórców na podstawie pola 245
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania1$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania2$ZA_UWAGI)

wspolwydanie_redaktorzy <- sqldf("select *
                            from wspolwydanie_redaktorzy a
                            join BN_PBL_lista_literatur b on a.X080 like ('%'||b.ukd_ogolne||'%')")
do_wspolwydania3 <- wspolwydanie_redaktorzy %>% 
  select(ZA_UWAGI,X245,pbl_id,pbl_nazwa,redaktor_dzialu,pbl_id_literatury,pbl_literatura,nazwa_prosta,ukd_ogolne) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         nazwisko = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         imie = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         name = paste(nazwisko,imie,sep = ", ")) %>%
  mutate(pbl_nazwa = as.character(pbl_nazwa)) %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa_prosta=="polsk"&substr(pbl_nazwa,nchar(pbl_nazwa),nchar(pbl_nazwa))!=substr(nazwisko,1,1),NA,as.integer(pbl_id))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)
count <- as.data.frame(table(do_wspolwydania3$ZA_UWAGI))
do_wspolwydania3 <- merge(do_wspolwydania3,count,by.x = "ZA_UWAGI",by.y = "Var1") %>%
  mutate(dlugosc = nchar(ukd_ogolne)) %>%
  arrange(-Freq,ZA_UWAGI,-dlugosc,pbl_id)
do_wspolwydania3$same <- cumsum(!duplicated(do_wspolwydania3[1]))
do_wspolwydania3 <- do_wspolwydania3[!duplicated(do_wspolwydania3$same),] %>%
  mutate(TW_TWORCA_ID = NA) %>%
  rename(DZ_NAZWA = pbl_nazwa,
         TW_NAZWISKO = nazwisko,
         TW_IMIE = imie) %>%
  select(ZA_UWAGI,TW_TWORCA_ID,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  mutate(RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)")
###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie literatury z pola 655 i tworzenie nowych twórców na podstawie pola 245
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania1$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania2$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania3$ZA_UWAGI)

#655
marc_field_655 <- wspolwydanie_redaktorzy %>%
  select(ZA_UWAGI,X655)%>%
  filter(X655!="") %>%
  mutate(X655=str_replace_all(X655,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X655",sep = "~",direction = "long") %>%
  filter(X655!="") %>%
  mutate(X655=str_remove_all(X655,"^\\|")) %>%
  mutate(indicator = str_replace_all(X655,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(wspolwydanie_redaktorzy$X655,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_655)[1]))
colnames(empty_table) <-subfield_list
marc_field_655<-cbind(marc_field_655,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_655$X655 <- str_replace(marc_field_655$X655,subfield_list_char[i],"|\\1")
}
if (nrow(marc_field_655)>0) {
  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_655[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_655$X655),str_replace_all(gsub(string,"\\3",marc_field_655$X655),"\\${2}.", "~"),NA)
}

marc_field_655 <- marc_field_655 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_655 <- sqldf("select *
                            from marc_field_655 a
                            left join PBL_hasla_osobowe b on a.`$a` like ('%'||b.nazwa||'%')")

###dodawanie nazewnictw nowych twórców na podstawie 245
marc_field_245 <- wspolwydanie_redaktorzy %>% 
  select(ZA_UWAGI,X245) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         nazwisko = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         imie = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         name = paste(nazwisko,imie,sep = ", "))
#join na podstawie identycznego id
marc_field_655 <- marc_field_655 %>%
  left_join(.,marc_field_245,by="ZA_UWAGI") %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa=="polsk"&substr(DZ_NAZWA,nchar(DZ_NAZWA),nchar(DZ_NAZWA))!=substr(nazwisko,1,1),NA,as.integer(DZ_DZIAL_ID))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)
marc_field_655$same <- cumsum(!duplicated(marc_field_655[1]))
do_wspolwydania4 <- marc_field_655[!duplicated(marc_field_655$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,TW_NAZWISKO=nazwisko,TW_IMIE=imie,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  select(names(do_wspolwydania3))
} else {
  marc_field_245 <- wspolwydanie_redaktorzy %>% 
  select(ZA_UWAGI,X245) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         nazwisko = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         imie = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         name = paste(nazwisko,imie,sep = ", "))
  do_wspolwydania4 <- data.frame(stringsAsFactors = FALSE)
}
###przypisanie autorów podmiotowej do literatur i przypisanie do redaktorów na podstawie literatury z pola 650 i tworzenie nowych twórców na podstawie pola 245
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania1$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania2$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania3$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania4$ZA_UWAGI)

#650
if (max(nchar(wspolwydanie_redaktorzy$X650))>0) {
marc_field_650 <- wspolwydanie_redaktorzy %>%
  select(ZA_UWAGI,X650)%>%
  filter(X650!="") %>%
  mutate(X650=str_replace_all(X650,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X650",sep = "~",direction = "long") %>%
  filter(X650!="") %>%
  mutate(X650=str_remove_all(X650,"^\\|")) %>%
  mutate(indicator = str_replace_all(X650,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(wspolwydanie_redaktorzy$X650,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_650)[1]))
colnames(empty_table) <-subfield_list
marc_field_650<-cbind(marc_field_650,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_650$X650 <- str_replace(marc_field_650$X650,subfield_list_char[i],"|\\1")
}
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_650[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_650$X650),str_replace_all(gsub(string,"\\3",marc_field_650$X650),"\\${2}.", "~"),NA)
}

marc_field_650 <- marc_field_650 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique()

marc_field_650 <- sqldf("select *
                            from marc_field_650 a
                            left join PBL_hasla_osobowe b on a.`$a` like ('%'||b.nazwa||'%')")  %>%
  left_join(.,marc_field_245,by="ZA_UWAGI") %>%
  mutate(DZ_DZIAL_ID = ifelse(nazwa=="polsk"&substr(DZ_NAZWA,nchar(DZ_NAZWA),nchar(DZ_NAZWA))!=substr(nazwisko,1,1),NA,as.integer(DZ_DZIAL_ID))) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  arrange(ZA_UWAGI,DZ_DZIAL_ID)

marc_field_650$same <- cumsum(!duplicated(marc_field_650[1]))
do_wspolwydania5 <- marc_field_650[!duplicated(marc_field_650$same),] %>%
  select(ZA_UWAGI,DZ_DZIAL_ID,DZ_NAZWA,TW_NAZWISKO=nazwisko,TW_IMIE=imie,redaktor_dzialu) %>%
  filter(!is.na(DZ_DZIAL_ID)) %>%
  mutate(TW_TWORCA_ID = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)") %>%
  select(names(do_wspolwydania4))
} else {
  do_wspolwydania5 <- do_wspolwydania1[0,]
}
#co zostało do współwydania?
wspolwydanie_redaktorzy <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania1$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania2$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania3$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania4$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% do_wspolwydania5$ZA_UWAGI)

#naddatek przypisać Marcie jako podmiotową bez twórców i czy_automatycznie <- nie
do_wspolwydania6 <- wspolwydanie_redaktorzy %>%
  mutate(TW_TWORCA_ID = NA,
         TW_NAZWISKO = NA,
         TW_IMIE = NA,
         DZ_DZIAL_ID = NA,
         DZ_NAZWA = NA,
         RZ_RODZAJ_ID = 1,
         RZ_NAZWA = "książka twórcy (podmiotowa)",
         redaktor_dzialu = "MARTAKx") %>%
  select(names(do_wspolwydania5))
#trzeba zaktualizować w bn_ok, że teraz to nie są automatyczne
lista_do_przepisania <- do_wspolwydania6$ZA_UWAGI
bn_ok$czy_automatycznie[bn_ok$ZA_UWAGI %in% lista_do_przepisania] <- "nie"
#połączenie przydziału współwydań w jeden plik
do_wspolwydania <- rbind(do_wspolwydania1,do_wspolwydania2,do_wspolwydania3,do_wspolwydania4,do_wspolwydania5,do_wspolwydania6)

#połączenie przydziałów w jeden plik (z wykluczeniem współwydania, bo ono idzie po za_uwagi)
redaktorzy_zapisow <- rbind(do_podmiotowej,do_przedmiotowej,do_antologii,do_wspolwydania)
#połączenie przypisania ze zbiorem

bn_ok <- bn_ok %>%
  left_join(.,redaktorzy_zapisow,by="ZA_UWAGI") %>%
  mutate(redaktor_dzialu = ifelse(is.na(DZ_NAZWA),as.character(redaktor_dzialu),
                                  ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - B","PAULINA",
                                         ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - G","MARTAK",
                                                ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - L","BEATAK",
                                                       ifelse(DZ_NAZWA=="Literatura współczesna (utwory anonimowe i ulotne)","ANIA",
                                                              ifelse(DZ_NAZWA=="Utwory anonimowe i ulotne","ANIA",
                                                                     ifelse(DZ_NAZWA=="Utwory anonimowe i ulotne (epoka nieznana)","ANIA",
                                                                            ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - N","GOSIA",
                                                                                   ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - O","IZA",
                                                                                          ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - Q","IZA",
                                                                                                 ifelse(DZ_NAZWA=="Literatura brytyjska i irlandzka","EWA",
                                                                                                        ifelse(DZ_NAZWA=="Utwory anonimowe (brytyjska i irlandzka)","EWA",
                                                                                                               ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - U","PAULINA",
                                                                                                                      ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - X","PAULINA",
                                                                                                                             ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - V","PAULINA",
                                                                                                                                    ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - Y","PAULINA",
                                                                                                                                           ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - C","GOSIA",
                                                                                                                                                  ifelse(DZ_NAZWA=="Hasła osobowe (literatura polska) - D","GOSIA",as.character(redaktor_dzialu))))))))))))))))))))

#ujednolicenie literatury dla kilku zapisów nowego twórcy
kilka_literatur_nowego_tworcy <- bn_ok %>%
  select(id,TW_TWORCA_ID,TW_NAZWISKO,TW_IMIE,DZ_DZIAL_ID,DZ_NAZWA,redaktor_dzialu) %>%
  filter(is.na(TW_TWORCA_ID)&!is.na(TW_NAZWISKO)) %>%
  select(-TW_TWORCA_ID) %>%
  arrange(TW_NAZWISKO,TW_IMIE) %>%
  group_by_at(vars(2:3)) %>%
  mutate(unikatowy_dzial = paste(unique(DZ_DZIAL_ID),collapse = "|"),
         DZ_DZIAL_ID = paste(DZ_DZIAL_ID,collapse = "|"),
         DZ_NAZWA = paste(DZ_NAZWA,collapse = "|"),
         redaktor_dzialu = paste(redaktor_dzialu,collapse = "|"),
         id = paste(id,collapse = "|")) %>%
  ungroup() %>%
  unique() %>%
  filter(grepl("\\|",unikatowy_dzial)) %>%
  select(-unikatowy_dzial)
if(nrow(kilka_literatur_nowego_tworcy)>0) {
  kilka_literatur_nowego_tworcy <- kilka_literatur_nowego_tworcy %>%
  mutate(id_grupy = 1:nrow(.)) %>%
  cSplit(.,c("id","DZ_DZIAL_ID","DZ_NAZWA","redaktor_dzialu"),sep = "|",direction = "long")

kilka_literatur_nowego_tworcy[,2:7][duplicated(kilka_literatur_nowego_tworcy$id_grupy),] <- NA
kilka_literatur_nowego_tworcy <- fill_(kilka_literatur_nowego_tworcy, names(kilka_literatur_nowego_tworcy))
#zaktualizowanie zbioru podmiotowych o ujednolicone działy dla nowych twórców
x <- 1:length(kilka_literatur_nowego_tworcy$id)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  bn_ok$DZ_DZIAL_ID[bn_ok$id==kilka_literatur_nowego_tworcy$id[i]] <- kilka_literatur_nowego_tworcy$DZ_DZIAL_ID[i]
  bn_ok$DZ_NAZWA[bn_ok$id==kilka_literatur_nowego_tworcy$id[i]] <- as.character(kilka_literatur_nowego_tworcy$DZ_NAZWA)[i]
  bn_ok$redaktor_dzialu[bn_ok$id==kilka_literatur_nowego_tworcy$id[i]] <- as.character(kilka_literatur_nowego_tworcy$redaktor_dzialu)[i]
}
}

#jeśli nie ma działu lub rodzaju zapisu, to wpisać id i nazwę do ustalenia
bn_ok <- bn_ok %>%
  mutate(DZ_DZIAL_ID =ifelse(is.na(DZ_DZIAL_ID),0,as.integer(DZ_DZIAL_ID)),
         DZ_NAZWA = ifelse(is.na(DZ_NAZWA),"-- do ustalenia --",as.character(DZ_NAZWA)),
         RZ_RODZAJ_ID =ifelse(is.na(RZ_RODZAJ_ID),0,as.integer(RZ_RODZAJ_ID)),
         RZ_NAZWA = ifelse(is.na(RZ_NAZWA),"-- do ustalenia --",as.character(RZ_NAZWA)))

#usunięcie nadwyżki z książek z działów IH
slowniki_jezykowe_zle <- bn_ok %>% 
  filter(DZ_NAZWA=="Słowniki językowe") %>% 
  filter(!grepl("słownik",X655,ignore.case = TRUE))

slowniki_biograficzne_zle <- bn_ok %>% 
  filter(DZ_NAZWA=="Słowniki biograficzne") %>% 
  filter(!(grepl("Słownik biograficzny|Biografia",X655)&(grepl("pisarz|litera|aktor|scenograf|nauczyciel|akademi|nauk|filolog|kryty|lit\\.",X655,ignore.case = TRUE)|grepl("pisarz|litera|aktor|scenograf|nauczyciel|akademi|nauk|filolog|kryty|lit\\.",X650,ignore.case = TRUE))))

bn_ok <- bn_ok %>%
  filter(ZA_UWAGI %notin% slowniki_jezykowe_zle$ZA_UWAGI) %>% 
  filter(ZA_UWAGI %notin% slowniki_biograficzne_zle$ZA_UWAGI)
chunk11 <- bn_ok
#bezpiecznik - sprawdź, czy rozkład jest niekontrowersyjny
#bez automatu
bn_ok <- chunk11
count <- as.data.frame(table(bn_ok$redaktor_dzialu,bn_ok$czy_automatycznie)) %>% 
  filter(Var2=="nie") %>% 
  arrange(-Freq)

#ile książek ma automat

count2 <- as.data.frame(table(bn_ok$czy_automatycznie))

#realne statystyki po podmiotowej
# test <- bn_ok %>%
#   left_join(out %>% select(rekord_BN,pracownik),by=c("ZA_UWAGI"="rekord_BN")) %>%
#   mutate(pracownik = ifelse(is.na(pracownik),as.character(redaktor_dzialu),as.character(pracownik)),
#          pracownik = str_replace(pracownik,"(^.*?)(\\_.*$)","\\1"))
# 
# count3 <- as.data.frame(table(test$pracownik)) %>%
#   arrange(-Freq)
# 
# count4 <- as.data.frame(table(test$pracownik,test$DZ_NAZWA)) %>%
#   filter(Var1=="EWA"&Freq>0) %>%
#   arrange(-Freq)
bn_ok <- chunk11
data <- bn_ok %>%
  filter(rodzaj_ksiazki=="podmiotowa") %>%
  mutate(redaktor_dzialu = paste(redaktor_dzialu,"_podm",sep = ""))

#uwolnienie kolumn z danymi z bn i przetworzenie do PBL
#1: za_uwagi, rz_nazwa, za_ro_rok, za_type, rz_rodzaj_id, tw_tworca_id, tw_nazwisko, tw_imie, dz_dzial_id, dz_nazwa, redaktor_dzialu
pola_pbl <- data %>%
  select(ZA_UWAGI, RZ_NAZWA, ZA_RO_ROK = rok, RZ_RODZAJ_ID, TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, redaktor_dzialu) %>%
  mutate(ZA_TYPE = "KS")
#2: autor
BN_autor <- data %>%
  select(X100,X245,ZA_UWAGI)
#pole 100
marc_field_100 <- BN_autor %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(BN_autor$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
#pole 245
marc_field_245 <- BN_autor %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(BN_autor$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
if("$b" %in% colnames(marc_field_100)==TRUE) { 
BN_autor <- marc_field_100 %>%
 select(ZA_UWAGI,`$a`,`$b`) %>%
 unique() %>%
 mutate(`$a` = ifelse(!is.na(`$b`),paste(`$a`,`$b`,sep = " "),as.character(`$a`))) %>%
 mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
 unique() %>%
 mutate(AM_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                             ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
        AM_IMIE = ifelse(grepl("\\|",`$a`),"*",
                         ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
 select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE) %>%
 left_join(.,marc_field_245,by="ZA_UWAGI") %>%
 select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE, X245c = `$c`)
} else {
  BN_autor <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`) %>%
  unique() %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  unique() %>%
  mutate(AM_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                             ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
        AM_IMIE = ifelse(grepl("\\|",`$a`),"*",
                         ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE) %>%
  left_join(.,marc_field_245,by="ZA_UWAGI") %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE, X245c = `$c`)
}
  
x <- 1:lengths(BN_autor[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  BN_autor$czy_nazwisko[i] <- grepl(BN_autor$AM_NAZWISKO[i],BN_autor$X245c[i])
  BN_autor$czy_imie[i] <- grepl(BN_autor$AM_IMIE[i],BN_autor$X245c[i])
}
Progress:    1 on 8158  Progress:    2 on 8158  Progress:    3 on 8158  Progress:    4 on 8158  Progress:    5 on 8158  Progress:    6 on 8158  Progress:    7 on 8158  Progress:    8 on 8158  Progress:    9 on 8158  Progress:   10 on 8158  Progress:   11 on 8158  Progress:   12 on 8158  Progress:   13 on 8158  Progress:   14 on 8158  Progress:   15 on 8158  Progress:   16 on 8158  Progress:   17 on 8158  Progress:   18 on 8158  Progress:   19 on 8158  Progress:   20 on 8158  Progress:   21 on 8158  Progress:   22 on 8158  Progress:   23 on 8158  Progress:   24 on 8158  Progress:   25 on 8158  Progress:   26 on 8158  Progress:   27 on 8158  Progress:   28 on 8158  Progress:   29 on 8158  Progress:   30 on 8158  Progress:   31 on 8158  Progress:   32 on 8158  Progress:   33 on 8158  Progress:   34 on 8158  Progress:   35 on 8158  Progress:   36 on 8158  Progress:   37 on 8158  Progress:   38 on 8158  Progress:   39 on 8158  Progress:   40 on 8158  Progress:   41 on 8158  Progress:   42 on 8158  Progress:   43 on 8158  Progress:   44 on 8158  Progress:   45 on 8158  Progress:   46 on 8158  Progress:   47 on 8158  Progress:   48 on 8158  Progress:   49 on 8158  Progress:   50 on 8158  Progress:   51 on 8158  Progress:   52 on 8158  Progress:   53 on 8158  Progress:   54 on 8158  Progress:   55 on 8158  Progress:   56 on 8158  Progress:   57 on 8158  Progress:   58 on 8158  Progress:   59 on 8158  Progress:   60 on 8158  Progress:   61 on 8158  Progress:   62 on 8158  Progress:   63 on 8158  Progress:   64 on 8158  Progress:   65 on 8158  Progress:   66 on 8158  Progress:   67 on 8158  Progress:   68 on 8158  Progress:   69 on 8158  Progress:   70 on 8158  Progress:   71 on 8158  Progress:   72 on 8158  Progress:   73 on 8158  Progress:   74 on 8158  Progress:   75 on 8158  Progress:   76 on 8158  Progress:   77 on 8158  Progress:   78 on 8158  Progress:   79 on 8158  Progress:   80 on 8158  Progress:   81 on 8158  Progress:   82 on 8158  Progress:   83 on 8158  Progress:   84 on 8158  Progress:   85 on 8158  Progress:   86 on 8158  Progress:   87 on 8158  Progress:   88 on 8158  Progress:   89 on 8158  Progress:   90 on 8158  Progress:   91 on 8158  Progress:   92 on 8158  Progress:   93 on 8158  Progress:   94 on 8158  Progress:   95 on 8158  Progress:   96 on 8158  Progress:   97 on 8158  Progress:   98 on 8158  Progress:   99 on 8158  Progress:  100 on 8158  Progress:  101 on 8158  Progress:  102 on 8158  Progress:  103 on 8158  Progress:  104 on 8158  Progress:  105 on 8158  Progress:  106 on 8158  Progress:  107 on 8158  Progress:  108 on 8158  Progress:  109 on 8158  Progress:  110 on 8158  Progress:  111 on 8158  Progress:  112 on 8158  Progress:  113 on 8158  Progress:  114 on 8158  Progress:  115 on 8158  Progress:  116 on 8158  Progress:  117 on 8158  Progress:  118 on 8158  Progress:  119 on 8158  Progress:  120 on 8158  Progress:  121 on 8158  Progress:  122 on 8158  Progress:  123 on 8158  Progress:  124 on 8158  Progress:  125 on 8158  Progress:  126 on 8158  Progress:  127 on 8158  Progress:  128 on 8158  Progress:  129 on 8158  Progress:  130 on 8158  Progress:  131 on 8158  Progress:  132 on 8158  Progress:  133 on 8158  Progress:  134 on 8158  Progress:  135 on 8158  Progress:  136 on 8158  Progress:  137 on 8158  Progress:  138 on 8158  Progress:  139 on 8158  Progress:  140 on 8158  Progress:  141 on 8158  Progress:  142 on 8158  Progress:  143 on 8158  Progress:  144 on 8158  Progress:  145 on 8158  Progress:  146 on 8158  Progress:  147 on 8158  Progress:  148 on 8158  Progress:  149 on 8158  Progress:  150 on 8158  Progress:  151 on 8158  Progress:  152 on 8158  Progress:  153 on 8158  Progress:  154 on 8158  Progress:  155 on 8158  Progress:  156 on 8158  Progress:  157 on 8158  Progress:  158 on 8158  Progress:  159 on 8158  Progress:  160 on 8158  Progress:  161 on 8158  Progress:  162 on 8158  Progress:  163 on 8158  Progress:  164 on 8158  Progress:  165 on 8158  Progress:  166 on 8158  Progress:  167 on 8158  Progress:  168 on 8158  Progress:  169 on 8158  Progress:  170 on 8158  Progress:  171 on 8158  Progress:  172 on 8158  Progress:  173 on 8158  Progress:  174 on 8158  Progress:  175 on 8158  Progress:  176 on 8158  Progress:  177 on 8158  Progress:  178 on 8158  Progress:  179 on 8158  Progress:  180 on 8158  Progress:  181 on 8158  Progress:  182 on 8158  Progress:  183 on 8158  Progress:  184 on 8158  Progress:  185 on 8158  Progress:  186 on 8158  Progress:  187 on 8158  Progress:  188 on 8158  Progress:  189 on 8158  Progress:  190 on 8158  Progress:  191 on 8158  Progress:  192 on 8158  Progress:  193 on 8158  Progress:  194 on 8158  Progress:  195 on 8158  Progress:  196 on 8158  Progress:  197 on 8158  Progress:  198 on 8158  Progress:  199 on 8158  Progress:  200 on 8158  Progress:  201 on 8158  Progress:  202 on 8158  Progress:  203 on 8158  Progress:  204 on 8158  Progress:  205 on 8158  Progress:  206 on 8158  Progress:  207 on 8158  Progress:  208 on 8158  Progress:  209 on 8158  Progress:  210 on 8158  Progress:  211 on 8158  Progress:  212 on 8158  Progress:  213 on 8158  Progress:  214 on 8158  Progress:  215 on 8158  Progress:  216 on 8158  Progress:  217 on 8158  Progress:  218 on 8158  Progress:  219 on 8158  Progress:  220 on 8158  Progress:  221 on 8158  Progress:  222 on 8158  Progress:  223 on 8158  Progress:  224 on 8158  Progress:  225 on 8158  Progress:  226 on 8158  Progress:  227 on 8158  Progress:  228 on 8158  Progress:  229 on 8158  Progress:  230 on 8158  Progress:  231 on 8158  Progress:  232 on 8158  Progress:  233 on 8158  Progress:  234 on 8158  Progress:  235 on 8158  Progress:  236 on 8158  Progress:  237 on 8158  Progress:  238 on 8158  Progress:  239 on 8158  Progress:  240 on 8158  Progress:  241 on 8158  Progress:  242 on 8158  Progress:  243 on 8158  Progress:  244 on 8158  Progress:  245 on 8158  Progress:  246 on 8158  Progress:  247 on 8158  Progress:  248 on 8158  Progress:  249 on 8158  Progress:  250 on 8158  Progress:  251 on 8158  Progress:  252 on 8158  Progress:  253 on 8158  Progress:  254 on 8158  Progress:  255 on 8158  Progress:  256 on 8158  Progress:  257 on 8158  Progress:  258 on 8158  Progress:  259 on 8158  Progress:  260 on 8158  Progress:  261 on 8158  Progress:  262 on 8158  Progress:  263 on 8158  Progress:  264 on 8158  Progress:  265 on 8158  Progress:  266 on 8158  Progress:  267 on 8158  Progress:  268 on 8158  Progress:  269 on 8158  Progress:  270 on 8158  Progress:  271 on 8158  Progress:  272 on 8158  Progress:  273 on 8158  Progress:  274 on 8158  Progress:  275 on 8158  Progress:  276 on 8158  Progress:  277 on 8158  Progress:  278 on 8158  Progress:  279 on 8158  Progress:  280 on 8158  Progress:  281 on 8158  Progress:  282 on 8158  Progress:  283 on 8158  Progress:  284 on 8158  Progress:  285 on 8158  Progress:  286 on 8158  Progress:  287 on 8158  Progress:  288 on 8158  Progress:  289 on 8158  Progress:  290 on 8158  Progress:  291 on 8158  Progress:  292 on 8158  Progress:  293 on 8158  Progress:  294 on 8158  Progress:  295 on 8158  Progress:  296 on 8158  Progress:  297 on 8158  Progress:  298 on 8158  Progress:  299 on 8158  Progress:  300 on 8158  Progress:  301 on 8158  Progress:  302 on 8158  Progress:  303 on 8158  Progress:  304 on 8158  Progress:  305 on 8158  Progress:  306 on 8158  Progress:  307 on 8158  Progress:  308 on 8158  Progress:  309 on 8158  Progress:  310 on 8158  Progress:  311 on 8158  Progress:  312 on 8158  Progress:  313 on 8158  Progress:  314 on 8158  Progress:  315 on 8158  Progress:  316 on 8158  Progress:  317 on 8158  Progress:  318 on 8158  Progress:  319 on 8158  Progress:  320 on 8158  Progress:  321 on 8158  Progress:  322 on 8158  Progress:  323 on 8158  Progress:  324 on 8158  Progress:  325 on 8158  Progress:  326 on 8158  Progress:  327 on 8158  Progress:  328 on 8158  Progress:  329 on 8158  Progress:  330 on 8158  Progress:  331 on 8158  Progress:  332 on 8158  Progress:  333 on 8158  Progress:  334 on 8158  Progress:  335 on 8158  Progress:  336 on 8158  Progress:  337 on 8158  Progress:  338 on 8158  Progress:  339 on 8158  Progress:  340 on 8158  Progress:  341 on 8158  Progress:  342 on 8158  Progress:  343 on 8158  Progress:  344 on 8158  Progress:  345 on 8158  Progress:  346 on 8158  Progress:  347 on 8158  Progress:  348 on 8158  Progress:  349 on 8158  Progress:  350 on 8158  Progress:  351 on 8158  Progress:  352 on 8158  Progress:  353 on 8158  Progress:  354 on 8158  Progress:  355 on 8158  Progress:  356 on 8158  Progress:  357 on 8158  Progress:  358 on 8158  Progress:  359 on 8158  Progress:  360 on 8158  Progress:  361 on 8158  Progress:  362 on 8158  Progress:  363 on 8158  Progress:  364 on 8158  Progress:  365 on 8158  Progress:  366 on 8158  Progress:  367 on 8158  Progress:  368 on 8158  Progress:  369 on 8158  Progress:  370 on 8158  Progress:  371 on 8158  Progress:  372 on 8158  Progress:  373 on 8158  Progress:  374 on 8158  Progress:  375 on 8158  Progress:  376 on 8158  Progress:  377 on 8158  Progress:  378 on 8158  Progress:  379 on 8158  Progress:  380 on 8158  Progress:  381 on 8158  Progress:  382 on 8158  Progress:  383 on 8158  Progress:  384 on 8158  Progress:  385 on 8158  Progress:  386 on 8158  Progress:  387 on 8158  Progress:  388 on 8158  Progress:  389 on 8158  Progress:  390 on 8158  Progress:  391 on 8158  Progress:  392 on 8158  Progress:  393 on 8158  Progress:  394 on 8158  Progress:  395 on 8158  Progress:  396 on 8158  Progress:  397 on 8158  Progress:  398 on 8158  Progress:  399 on 8158  Progress:  400 on 8158  Progress:  401 on 8158  Progress:  402 on 8158  Progress:  403 on 8158  Progress:  404 on 8158  Progress:  405 on 8158  Progress:  406 on 8158  Progress:  407 on 8158  Progress:  408 on 8158  Progress:  409 on 8158  Progress:  410 on 8158  Progress:  411 on 8158  Progress:  412 on 8158  Progress:  413 on 8158  Progress:  414 on 8158  Progress:  415 on 8158  Progress:  416 on 8158  Progress:  417 on 8158  Progress:  418 on 8158  Progress:  419 on 8158  Progress:  420 on 8158  Progress:  421 on 8158  Progress:  422 on 8158  Progress:  423 on 8158  Progress:  424 on 8158  Progress:  425 on 8158  Progress:  426 on 8158  Progress:  427 on 8158  Progress:  428 on 8158  Progress:  429 on 8158  Progress:  430 on 8158  Progress:  431 on 8158  Progress:  432 on 8158  Progress:  433 on 8158  Progress:  434 on 8158  Progress:  435 on 8158  Progress:  436 on 8158  Progress:  437 on 8158  Progress:  438 on 8158  Progress:  439 on 8158  Progress:  440 on 8158  Progress:  441 on 8158  Progress:  442 on 8158  Progress:  443 on 8158  Progress:  444 on 8158  Progress:  445 on 8158  Progress:  446 on 8158  Progress:  447 on 8158  Progress:  448 on 8158  Progress:  449 on 8158  Progress:  450 on 8158  Progress:  451 on 8158  Progress:  452 on 8158  Progress:  453 on 8158  Progress:  454 on 8158  Progress:  455 on 8158  Progress:  456 on 8158  Progress:  457 on 8158  Progress:  458 on 8158  Progress:  459 on 8158  Progress:  460 on 8158  Progress:  461 on 8158  Progress:  462 on 8158  Progress:  463 on 8158  Progress:  464 on 8158  Progress:  465 on 8158  Progress:  466 on 8158  Progress:  467 on 8158  Progress:  468 on 8158  Progress:  469 on 8158  Progress:  470 on 8158  Progress:  471 on 8158  Progress:  472 on 8158  Progress:  473 on 8158  Progress:  474 on 8158  Progress:  475 on 8158  Progress:  476 on 8158  Progress:  477 on 8158  Progress:  478 on 8158  Progress:  479 on 8158  Progress:  480 on 8158  Progress:  481 on 8158  Progress:  482 on 8158  Progress:  483 on 8158  Progress:  484 on 8158  Progress:  485 on 8158  Progress:  486 on 8158  Progress:  487 on 8158  Progress:  488 on 8158  Progress:  489 on 8158  Progress:  490 on 8158  Progress:  491 on 8158  Progress:  492 on 8158  Progress:  493 on 8158  Progress:  494 on 8158  Progress:  495 on 8158  Progress:  496 on 8158  Progress:  497 on 8158  Progress:  498 on 8158  Progress:  499 on 8158  Progress:  500 on 8158  Progress:  501 on 8158  Progress:  502 on 8158  Progress:  503 on 8158  Progress:  504 on 8158  Progress:  505 on 8158  Progress:  506 on 8158  Progress:  507 on 8158  Progress:  508 on 8158  Progress:  509 on 8158  Progress:  510 on 8158  Progress:  511 on 8158  Progress:  512 on 8158  Progress:  513 on 8158  Progress:  514 on 8158  Progress:  515 on 8158  Progress:  516 on 8158  Progress:  517 on 8158  Progress:  518 on 8158  Progress:  519 on 8158  Progress:  520 on 8158  Progress:  521 on 8158  Progress:  522 on 8158  Progress:  523 on 8158  Progress:  524 on 8158  Progress:  525 on 8158  Progress:  526 on 8158  Progress:  527 on 8158  Progress:  528 on 8158  Progress:  529 on 8158  Progress:  530 on 8158  Progress:  531 on 8158  Progress:  532 on 8158  Progress:  533 on 8158  Progress:  534 on 8158  Progress:  535 on 8158  Progress:  536 on 8158  Progress:  537 on 8158  Progress:  538 on 8158  Progress:  539 on 8158  Progress:  540 on 8158  Progress:  541 on 8158  Progress:  542 on 8158  Progress:  543 on 8158  Progress:  544 on 8158  Progress:  545 on 8158  Progress:  546 on 8158  Progress:  547 on 8158  Progress:  548 on 8158  Progress:  549 on 8158  Progress:  550 on 8158  Progress:  551 on 8158  Progress:  552 on 8158  Progress:  553 on 8158  Progress:  554 on 8158  Progress:  555 on 8158  Progress:  556 on 8158  Progress:  557 on 8158  Progress:  558 on 8158  Progress:  559 on 8158  Progress:  560 on 8158  Progress:  561 on 8158  Progress:  562 on 8158  Progress:  563 on 8158  Progress:  564 on 8158  Progress:  565 on 8158  Progress:  566 on 8158  Progress:  567 on 8158  Progress:  568 on 8158  Progress:  569 on 8158  Progress:  570 on 8158  Progress:  571 on 8158  Progress:  572 on 8158  Progress:  573 on 8158  Progress:  574 on 8158  Progress:  575 on 8158  Progress:  576 on 8158  Progress:  577 on 8158  Progress:  578 on 8158  Progress:  579 on 8158  Progress:  580 on 8158  Progress:  581 on 8158  Progress:  582 on 8158  Progress:  583 on 8158  Progress:  584 on 8158  Progress:  585 on 8158  Progress:  586 on 8158  Progress:  587 on 8158  Progress:  588 on 8158  Progress:  589 on 8158  Progress:  590 on 8158  Progress:  591 on 8158  Progress:  592 on 8158  Progress:  593 on 8158  Progress:  594 on 8158  Progress:  595 on 8158  Progress:  596 on 8158  Progress:  597 on 8158  Progress:  598 on 8158  Progress:  599 on 8158  Progress:  600 on 8158  Progress:  601 on 8158  Progress:  602 on 8158  Progress:  603 on 8158  Progress:  604 on 8158  Progress:  605 on 8158  Progress:  606 on 8158  Progress:  607 on 8158  Progress:  608 on 8158  Progress:  609 on 8158  Progress:  610 on 8158  Progress:  611 on 8158  Progress:  612 on 8158  Progress:  613 on 8158  Progress:  614 on 8158  Progress:  615 on 8158  Progress:  616 on 8158  Progress:  617 on 8158  Progress:  618 on 8158  Progress:  619 on 8158  Progress:  620 on 8158  Progress:  621 on 8158  Progress:  622 on 8158  Progress:  623 on 8158  Progress:  624 on 8158  Progress:  625 on 8158  Progress:  626 on 8158  Progress:  627 on 8158  Progress:  628 on 8158  Progress:  629 on 8158  Progress:  630 on 8158  Progress:  631 on 8158  Progress:  632 on 8158  Progress:  633 on 8158  Progress:  634 on 8158  Progress:  635 on 8158  Progress:  636 on 8158  Progress:  637 on 8158  Progress:  638 on 8158  Progress:  639 on 8158  Progress:  640 on 8158  Progress:  641 on 8158  Progress:  642 on 8158  Progress:  643 on 8158  Progress:  644 on 8158  Progress:  645 on 8158  Progress:  646 on 8158  Progress:  647 on 8158  Progress:  648 on 8158  Progress:  649 on 8158  Progress:  650 on 8158  Progress:  651 on 8158  Progress:  652 on 8158  Progress:  653 on 8158  Progress:  654 on 8158  Progress:  655 on 8158  Progress:  656 on 8158  Progress:  657 on 8158  Progress:  658 on 8158  Progress:  659 on 8158  Progress:  660 on 8158  Progress:  661 on 8158  Progress:  662 on 8158  Progress:  663 on 8158  Progress:  664 on 8158  Progress:  665 on 8158  Progress:  666 on 8158  Progress:  667 on 8158  Progress:  668 on 8158  Progress:  669 on 8158  Progress:  670 on 8158  Progress:  671 on 8158  Progress:  672 on 8158  Progress:  673 on 8158  Progress:  674 on 8158  Progress:  675 on 8158  Progress:  676 on 8158  Progress:  677 on 8158  Progress:  678 on 8158  Progress:  679 on 8158  Progress:  680 on 8158  Progress:  681 on 8158  Progress:  682 on 8158  Progress:  683 on 8158  Progress:  684 on 8158  Progress:  685 on 8158  Progress:  686 on 8158  Progress:  687 on 8158  Progress:  688 on 8158  Progress:  689 on 8158  Progress:  690 on 8158  Progress:  691 on 8158  Progress:  692 on 8158  Progress:  693 on 8158  Progress:  694 on 8158  Progress:  695 on 8158  Progress:  696 on 8158  Progress:  697 on 8158  Progress:  698 on 8158  Progress:  699 on 8158  Progress:  700 on 8158  Progress:  701 on 8158  Progress:  702 on 8158  Progress:  703 on 8158  Progress:  704 on 8158  Progress:  705 on 8158  Progress:  706 on 8158  Progress:  707 on 8158  Progress:  708 on 8158  Progress:  709 on 8158  Progress:  710 on 8158  Progress:  711 on 8158  Progress:  712 on 8158  Progress:  713 on 8158  Progress:  714 on 8158  Progress:  715 on 8158  Progress:  716 on 8158  Progress:  717 on 8158  Progress:  718 on 8158  Progress:  719 on 8158  Progress:  720 on 8158  Progress:  721 on 8158  Progress:  722 on 8158  Progress:  723 on 8158  Progress:  724 on 8158  Progress:  725 on 8158  Progress:  726 on 8158  Progress:  727 on 8158  Progress:  728 on 8158  Progress:  729 on 8158  Progress:  730 on 8158  Progress:  731 on 8158  Progress:  732 on 8158  Progress:  733 on 8158  Progress:  734 on 8158  Progress:  735 on 8158  Progress:  736 on 8158  Progress:  737 on 8158  Progress:  738 on 8158  Progress:  739 on 8158  Progress:  740 on 8158  Progress:  741 on 8158  Progress:  742 on 8158  Progress:  743 on 8158  Progress:  744 on 8158  Progress:  745 on 8158  Progress:  746 on 8158  Progress:  747 on 8158  Progress:  748 on 8158  Progress:  749 on 8158  Progress:  750 on 8158  Progress:  751 on 8158  Progress:  752 on 8158  Progress:  753 on 8158  Progress:  754 on 8158  Progress:  755 on 8158  Progress:  756 on 8158  Progress:  757 on 8158  Progress:  758 on 8158  Progress:  759 on 8158  Progress:  760 on 8158  Progress:  761 on 8158  Progress:  762 on 8158  Progress:  763 on 8158  Progress:  764 on 8158  Progress:  765 on 8158  Progress:  766 on 8158  Progress:  767 on 8158  Progress:  768 on 8158  Progress:  769 on 8158  Progress:  770 on 8158  Progress:  771 on 8158  Progress:  772 on 8158  Progress:  773 on 8158  Progress:  774 on 8158  Progress:  775 on 8158  Progress:  776 on 8158  Progress:  777 on 8158  Progress:  778 on 8158  Progress:  779 on 8158  Progress:  780 on 8158  Progress:  781 on 8158  Progress:  782 on 8158  Progress:  783 on 8158  Progress:  784 on 8158  Progress:  785 on 8158  Progress:  786 on 8158  Progress:  787 on 8158  Progress:  788 on 8158  Progress:  789 on 8158  Progress:  790 on 8158  Progress:  791 on 8158  Progress:  792 on 8158  Progress:  793 on 8158  Progress:  794 on 8158  Progress:  795 on 8158  Progress:  796 on 8158  Progress:  797 on 8158  Progress:  798 on 8158  Progress:  799 on 8158  Progress:  800 on 8158  Progress:  801 on 8158  Progress:  802 on 8158  Progress:  803 on 8158  Progress:  804 on 8158  Progress:  805 on 8158  Progress:  806 on 8158  Progress:  807 on 8158  Progress:  808 on 8158  Progress:  809 on 8158  Progress:  810 on 8158  Progress:  811 on 8158  Progress:  812 on 8158  Progress:  813 on 8158  Progress:  814 on 8158  Progress:  815 on 8158  Progress:  816 on 8158  Progress:  817 on 8158  Progress:  818 on 8158  Progress:  819 on 8158  Progress:  820 on 8158  Progress:  821 on 8158  Progress:  822 on 8158  Progress:  823 on 8158  Progress:  824 on 8158  Progress:  825 on 8158  Progress:  826 on 8158  Progress:  827 on 8158  Progress:  828 on 8158  Progress:  829 on 8158  Progress:  830 on 8158  Progress:  831 on 8158  Progress:  832 on 8158  Progress:  833 on 8158  Progress:  834 on 8158  Progress:  835 on 8158  Progress:  836 on 8158  Progress:  837 on 8158  Progress:  838 on 8158  Progress:  839 on 8158  Progress:  840 on 8158  Progress:  841 on 8158  Progress:  842 on 8158  Progress:  843 on 8158  Progress:  844 on 8158  Progress:  845 on 8158  Progress:  846 on 8158  Progress:  847 on 8158  Progress:  848 on 8158  Progress:  849 on 8158  Progress:  850 on 8158  Progress:  851 on 8158  Progress:  852 on 8158  Progress:  853 on 8158  Progress:  854 on 8158  Progress:  855 on 8158  Progress:  856 on 8158  Progress:  857 on 8158  Progress:  858 on 8158  Progress:  859 on 8158  Progress:  860 on 8158  Progress:  861 on 8158  Progress:  862 on 8158  Progress:  863 on 8158  Progress:  864 on 8158  Progress:  865 on 8158  Progress:  866 on 8158  Progress:  867 on 8158  Progress:  868 on 8158  Progress:  869 on 8158  Progress:  870 on 8158  Progress:  871 on 8158  Progress:  872 on 8158  Progress:  873 on 8158  Progress:  874 on 8158  Progress:  875 on 8158  Progress:  876 on 8158  Progress:  877 on 8158  Progress:  878 on 8158  Progress:  879 on 8158  Progress:  880 on 8158  Progress:  881 on 8158  Progress:  882 on 8158  Progress:  883 on 8158  Progress:  884 on 8158  Progress:  885 on 8158  Progress:  886 on 8158  Progress:  887 on 8158  Progress:  888 on 8158  Progress:  889 on 8158  Progress:  890 on 8158  Progress:  891 on 8158  Progress:  892 on 8158  Progress:  893 on 8158  Progress:  894 on 8158  Progress:  895 on 8158  Progress:  896 on 8158  Progress:  897 on 8158  Progress:  898 on 8158  Progress:  899 on 8158  Progress:  900 on 8158  Progress:  901 on 8158  Progress:  902 on 8158  Progress:  903 on 8158  Progress:  904 on 8158  Progress:  905 on 8158  Progress:  906 on 8158  Progress:  907 on 8158  Progress:  908 on 8158  Progress:  909 on 8158  Progress:  910 on 8158  Progress:  911 on 8158  Progress:  912 on 8158  Progress:  913 on 8158  Progress:  914 on 8158  Progress:  915 on 8158  Progress:  916 on 8158  Progress:  917 on 8158  Progress:  918 on 8158  Progress:  919 on 8158  Progress:  920 on 8158  Progress:  921 on 8158  Progress:  922 on 8158  Progress:  923 on 8158  Progress:  924 on 8158  Progress:  925 on 8158  Progress:  926 on 8158  Progress:  927 on 8158  Progress:  928 on 8158  Progress:  929 on 8158  Progress:  930 on 8158  Progress:  931 on 8158  Progress:  932 on 8158  Progress:  933 on 8158  Progress:  934 on 8158  Progress:  935 on 8158  Progress:  936 on 8158  Progress:  937 on 8158  Progress:  938 on 8158  Progress:  939 on 8158  Progress:  940 on 8158  Progress:  941 on 8158  Progress:  942 on 8158  Progress:  943 on 8158  Progress:  944 on 8158  Progress:  945 on 8158  Progress:  946 on 8158  Progress:  947 on 8158  Progress:  948 on 8158  Progress:  949 on 8158  Progress:  950 on 8158  Progress:  951 on 8158  Progress:  952 on 8158  Progress:  953 on 8158  Progress:  954 on 8158  Progress:  955 on 8158  Progress:  956 on 8158  Progress:  957 on 8158  Progress:  958 on 8158  Progress:  959 on 8158  Progress:  960 on 8158  Progress:  961 on 8158  Progress:  962 on 8158  Progress:  963 on 8158  Progress:  964 on 8158  Progress:  965 on 8158  Progress:  966 on 8158  Progress:  967 on 8158  Progress:  968 on 8158  Progress:  969 on 8158  Progress:  970 on 8158  Progress:  971 on 8158  Progress:  972 on 8158  Progress:  973 on 8158  Progress:  974 on 8158  Progress:  975 on 8158  Progress:  976 on 8158  Progress:  977 on 8158  Progress:  978 on 8158  Progress:  979 on 8158  Progress:  980 on 8158  Progress:  981 on 8158  Progress:  982 on 8158  Progress:  983 on 8158  Progress:  984 on 8158  Progress:  985 on 8158  Progress:  986 on 8158  Progress:  987 on 8158  Progress:  988 on 8158  Progress:  989 on 8158  Progress:  990 on 8158  Progress:  991 on 8158  Progress:  992 on 8158  Progress:  993 on 8158  Progress:  994 on 8158  Progress:  995 on 8158  Progress:  996 on 8158  Progress:  997 on 8158  Progress:  998 on 8158  Progress:  999 on 8158  Progress: 1000 on 8158  Progress: 1001 on 8158  Progress: 1002 on 8158  Progress: 1003 on 8158  Progress: 1004 on 8158  Progress: 1005 on 8158  Progress: 1006 on 8158  Progress: 1007 on 8158  Progress: 1008 on 8158  Progress: 1009 on 8158  Progress: 1010 on 8158  Progress: 1011 on 8158  Progress: 1012 on 8158  Progress: 1013 on 8158  Progress: 1014 on 8158  Progress: 1015 on 8158  Progress: 1016 on 8158  Progress: 1017 on 8158  Progress: 1018 on 8158  Progress: 1019 on 8158  Progress: 1020 on 8158  Progress: 1021 on 8158  Progress: 1022 on 8158  Progress: 1023 on 8158  Progress: 1024 on 8158  Progress: 1025 on 8158  Progress: 1026 on 8158  Progress: 1027 on 8158  Progress: 1028 on 8158  Progress: 1029 on 8158  Progress: 1030 on 8158  Progress: 1031 on 8158  Progress: 1032 on 8158  Progress: 1033 on 8158  Progress: 1034 on 8158  Progress: 1035 on 8158  Progress: 1036 on 8158  Progress: 1037 on 8158  Progress: 1038 on 8158  Progress: 1039 on 8158  Progress: 1040 on 8158  Progress: 1041 on 8158  Progress: 1042 on 8158  Progress: 1043 on 8158  Progress: 1044 on 8158  Progress: 1045 on 8158  Progress: 1046 on 8158  Progress: 1047 on 8158  Progress: 1048 on 8158  Progress: 1049 on 8158  Progress: 1050 on 8158  Progress: 1051 on 8158  Progress: 1052 on 8158  Progress: 1053 on 8158  Progress: 1054 on 8158  Progress: 1055 on 8158  Progress: 1056 on 8158  Progress: 1057 on 8158  Progress: 1058 on 8158  Progress: 1059 on 8158  Progress: 1060 on 8158  Progress: 1061 on 8158  Progress: 1062 on 8158  Progress: 1063 on 8158  Progress: 1064 on 8158  Progress: 1065 on 8158  Progress: 1066 on 8158  Progress: 1067 on 8158  Progress: 1068 on 8158  Progress: 1069 on 8158  Progress: 1070 on 8158  Progress: 1071 on 8158  Progress: 1072 on 8158  Progress: 1073 on 8158  Progress: 1074 on 8158  Progress: 1075 on 8158  Progress: 1076 on 8158  Progress: 1077 on 8158  Progress: 1078 on 8158  Progress: 1079 on 8158  Progress: 1080 on 8158  Progress: 1081 on 8158  Progress: 1082 on 8158  Progress: 1083 on 8158  Progress: 1084 on 8158  Progress: 1085 on 8158  Progress: 1086 on 8158  Progress: 1087 on 8158  Progress: 1088 on 8158  Progress: 1089 on 8158  Progress: 1090 on 8158  Progress: 1091 on 8158  Progress: 1092 on 8158  Progress: 1093 on 8158  Progress: 1094 on 8158  Progress: 1095 on 8158  Progress: 1096 on 8158  Progress: 1097 on 8158  Progress: 1098 on 8158  Progress: 1099 on 8158  Progress: 1100 on 8158  Progress: 1101 on 8158  Progress: 1102 on 8158  Progress: 1103 on 8158  Progress: 1104 on 8158  Progress: 1105 on 8158  Progress: 1106 on 8158  Progress: 1107 on 8158  Progress: 1108 on 8158  Progress: 1109 on 8158  Progress: 1110 on 8158  Progress: 1111 on 8158  Progress: 1112 on 8158  Progress: 1113 on 8158  Progress: 1114 on 8158  Progress: 1115 on 8158  Progress: 1116 on 8158  Progress: 1117 on 8158  Progress: 1118 on 8158  Progress: 1119 on 8158  Progress: 1120 on 8158  Progress: 1121 on 8158  Progress: 1122 on 8158  Progress: 1123 on 8158  Progress: 1124 on 8158  Progress: 1125 on 8158  Progress: 1126 on 8158  Progress: 1127 on 8158  Progress: 1128 on 8158  Progress: 1129 on 8158  Progress: 1130 on 8158  Progress: 1131 on 8158  Progress: 1132 on 8158  Progress: 1133 on 8158  Progress: 1134 on 8158  Progress: 1135 on 8158  Progress: 1136 on 8158  Progress: 1137 on 8158  Progress: 1138 on 8158  Progress: 1139 on 8158  Progress: 1140 on 8158  Progress: 1141 on 8158  Progress: 1142 on 8158  Progress: 1143 on 8158  Progress: 1144 on 8158  Progress: 1145 on 8158  Progress: 1146 on 8158  Progress: 1147 on 8158  Progress: 1148 on 8158  Progress: 1149 on 8158  Progress: 1150 on 8158  Progress: 1151 on 8158  Progress: 1152 on 8158  Progress: 1153 on 8158  Progress: 1154 on 8158  Progress: 1155 on 8158  Progress: 1156 on 8158  Progress: 1157 on 8158  Progress: 1158 on 8158  Progress: 1159 on 8158  Progress: 1160 on 8158  Progress: 1161 on 8158  Progress: 1162 on 8158  Progress: 1163 on 8158  Progress: 1164 on 8158  Progress: 1165 on 8158  Progress: 1166 on 8158  Progress: 1167 on 8158  Progress: 1168 on 8158  Progress: 1169 on 8158  Progress: 1170 on 8158  Progress: 1171 on 8158  Progress: 1172 on 8158  Progress: 1173 on 8158  Progress: 1174 on 8158  Progress: 1175 on 8158  Progress: 1176 on 8158  Progress: 1177 on 8158  Progress: 1178 on 8158  Progress: 1179 on 8158  Progress: 1180 on 8158  Progress: 1181 on 8158  Progress: 1182 on 8158  Progress: 1183 on 8158  Progress: 1184 on 8158  Progress: 1185 on 8158  Progress: 1186 on 8158  Progress: 1187 on 8158  Progress: 1188 on 8158  Progress: 1189 on 8158  Progress: 1190 on 8158  Progress: 1191 on 8158  Progress: 1192 on 8158  Progress: 1193 on 8158  Progress: 1194 on 8158  Progress: 1195 on 8158  Progress: 1196 on 8158  Progress: 1197 on 8158  Progress: 1198 on 8158  Progress: 1199 on 8158  Progress: 1200 on 8158  Progress: 1201 on 8158  Progress: 1202 on 8158  Progress: 1203 on 8158  Progress: 1204 on 8158  Progress: 1205 on 8158  Progress: 1206 on 8158  Progress: 1207 on 8158  Progress: 1208 on 8158  Progress: 1209 on 8158  Progress: 1210 on 8158  Progress: 1211 on 8158  Progress: 1212 on 8158  Progress: 1213 on 8158  Progress: 1214 on 8158  Progress: 1215 on 8158  Progress: 1216 on 8158  Progress: 1217 on 8158  Progress: 1218 on 8158  Progress: 1219 on 8158  Progress: 1220 on 8158  Progress: 1221 on 8158  Progress: 1222 on 8158  Progress: 1223 on 8158  Progress: 1224 on 8158  Progress: 1225 on 8158  Progress: 1226 on 8158  Progress: 1227 on 8158  Progress: 1228 on 8158  Progress: 1229 on 8158  Progress: 1230 on 8158  Progress: 1231 on 8158  Progress: 1232 on 8158  Progress: 1233 on 8158  Progress: 1234 on 8158  Progress: 1235 on 8158  Progress: 1236 on 8158  Progress: 1237 on 8158  Progress: 1238 on 8158  Progress: 1239 on 8158  Progress: 1240 on 8158  Progress: 1241 on 8158  Progress: 1242 on 8158  Progress: 1243 on 8158  Progress: 1244 on 8158  Progress: 1245 on 8158  Progress: 1246 on 8158  Progress: 1247 on 8158  Progress: 1248 on 8158  Progress: 1249 on 8158  Progress: 1250 on 8158  Progress: 1251 on 8158  Progress: 1252 on 8158  Progress: 1253 on 8158  Progress: 1254 on 8158  Progress: 1255 on 8158  Progress: 1256 on 8158  Progress: 1257 on 8158  Progress: 1258 on 8158  Progress: 1259 on 8158  Progress: 1260 on 8158  Progress: 1261 on 8158  Progress: 1262 on 8158  Progress: 1263 on 8158  Progress: 1264 on 8158  Progress: 1265 on 8158  Progress: 1266 on 8158  Progress: 1267 on 8158  Progress: 1268 on 8158  Progress: 1269 on 8158  Progress: 1270 on 8158  Progress: 1271 on 8158  Progress: 1272 on 8158  Progress: 1273 on 8158  Progress: 1274 on 8158  Progress: 1275 on 8158  Progress: 1276 on 8158  Progress: 1277 on 8158  Progress: 1278 on 8158  Progress: 1279 on 8158  Progress: 1280 on 8158  Progress: 1281 on 8158  Progress: 1282 on 8158  Progress: 1283 on 8158  Progress: 1284 on 8158  Progress: 1285 on 8158  Progress: 1286 on 8158  Progress: 1287 on 8158  Progress: 1288 on 8158  Progress: 1289 on 8158  Progress: 1290 on 8158  Progress: 1291 on 8158  Progress: 1292 on 8158  Progress: 1293 on 8158  Progress: 1294 on 8158  Progress: 1295 on 8158  Progress: 1296 on 8158  Progress: 1297 on 8158  Progress: 1298 on 8158  Progress: 1299 on 8158  Progress: 1300 on 8158  Progress: 1301 on 8158  Progress: 1302 on 8158  Progress: 1303 on 8158  Progress: 1304 on 8158  Progress: 1305 on 8158  Progress: 1306 on 8158  Progress: 1307 on 8158  Progress: 1308 on 8158  Progress: 1309 on 8158  Progress: 1310 on 8158  Progress: 1311 on 8158  Progress: 1312 on 8158  Progress: 1313 on 8158  Progress: 1314 on 8158  Progress: 1315 on 8158  Progress: 1316 on 8158  Progress: 1317 on 8158  Progress: 1318 on 8158  Progress: 1319 on 8158  Progress: 1320 on 8158  Progress: 1321 on 8158  Progress: 1322 on 8158  Progress: 1323 on 8158  Progress: 1324 on 8158  Progress: 1325 on 8158  Progress: 1326 on 8158  Progress: 1327 on 8158  Progress: 1328 on 8158  Progress: 1329 on 8158  Progress: 1330 on 8158  Progress: 1331 on 8158  Progress: 1332 on 8158  Progress: 1333 on 8158  Progress: 1334 on 8158  Progress: 1335 on 8158  Progress: 1336 on 8158  Progress: 1337 on 8158  Progress: 1338 on 8158  Progress: 1339 on 8158  Progress: 1340 on 8158  Progress: 1341 on 8158  Progress: 1342 on 8158  Progress: 1343 on 8158  Progress: 1344 on 8158  Progress: 1345 on 8158  Progress: 1346 on 8158  Progress: 1347 on 8158  Progress: 1348 on 8158  Progress: 1349 on 8158  Progress: 1350 on 8158  Progress: 1351 on 8158  Progress: 1352 on 8158  Progress: 1353 on 8158  Progress: 1354 on 8158  Progress: 1355 on 8158  Progress: 1356 on 8158  Progress: 1357 on 8158  Progress: 1358 on 8158  Progress: 1359 on 8158  Progress: 1360 on 8158  Progress: 1361 on 8158  Progress: 1362 on 8158  Progress: 1363 on 8158  Progress: 1364 on 8158  Progress: 1365 on 8158  Progress: 1366 on 8158  Progress: 1367 on 8158  Progress: 1368 on 8158  Progress: 1369 on 8158  Progress: 1370 on 8158  Progress: 1371 on 8158  Progress: 1372 on 8158  Progress: 1373 on 8158  Progress: 1374 on 8158  Progress: 1375 on 8158  Progress: 1376 on 8158  Progress: 1377 on 8158  Progress: 1378 on 8158  Progress: 1379 on 8158  Progress: 1380 on 8158  Progress: 1381 on 8158  Progress: 1382 on 8158  Progress: 1383 on 8158  Progress: 1384 on 8158  Progress: 1385 on 8158  Progress: 1386 on 8158  Progress: 1387 on 8158  Progress: 1388 on 8158  Progress: 1389 on 8158  Progress: 1390 on 8158  Progress: 1391 on 8158  Progress: 1392 on 8158  Progress: 1393 on 8158  Progress: 1394 on 8158  Progress: 1395 on 8158  Progress: 1396 on 8158  Progress: 1397 on 8158  Progress: 1398 on 8158  Progress: 1399 on 8158  Progress: 1400 on 8158  Progress: 1401 on 8158  Progress: 1402 on 8158  Progress: 1403 on 8158  Progress: 1404 on 8158  Progress: 1405 on 8158  Progress: 1406 on 8158  Progress: 1407 on 8158  Progress: 1408 on 8158  Progress: 1409 on 8158  Progress: 1410 on 8158  Progress: 1411 on 8158  Progress: 1412 on 8158  Progress: 1413 on 8158  Progress: 1414 on 8158  Progress: 1415 on 8158  Progress: 1416 on 8158  Progress: 1417 on 8158  Progress: 1418 on 8158  Progress: 1419 on 8158  Progress: 1420 on 8158  Progress: 1421 on 8158  Progress: 1422 on 8158  Progress: 1423 on 8158  Progress: 1424 on 8158  Progress: 1425 on 8158  Progress: 1426 on 8158  Progress: 1427 on 8158  Progress: 1428 on 8158  Progress: 1429 on 8158  Progress: 1430 on 8158  Progress: 1431 on 8158  Progress: 1432 on 8158  Progress: 1433 on 8158  Progress: 1434 on 8158  Progress: 1435 on 8158  Progress: 1436 on 8158  Progress: 1437 on 8158  Progress: 1438 on 8158  Progress: 1439 on 8158  Progress: 1440 on 8158  Progress: 1441 on 8158  Progress: 1442 on 8158  Progress: 1443 on 8158  Progress: 1444 on 8158  Progress: 1445 on 8158  Progress: 1446 on 8158  Progress: 1447 on 8158  Progress: 1448 on 8158  Progress: 1449 on 8158  Progress: 1450 on 8158  Progress: 1451 on 8158  Progress: 1452 on 8158  Progress: 1453 on 8158  Progress: 1454 on 8158  Progress: 1455 on 8158  Progress: 1456 on 8158  Progress: 1457 on 8158  Progress: 1458 on 8158  Progress: 1459 on 8158  Progress: 1460 on 8158  Progress: 1461 on 8158  Progress: 1462 on 8158  Progress: 1463 on 8158  Progress: 1464 on 8158  Progress: 1465 on 8158  Progress: 1466 on 8158  Progress: 1467 on 8158  Progress: 1468 on 8158  Progress: 1469 on 8158  Progress: 1470 on 8158  Progress: 1471 on 8158  Progress: 1472 on 8158  Progress: 1473 on 8158  Progress: 1474 on 8158  Progress: 1475 on 8158  Progress: 1476 on 8158  Progress: 1477 on 8158  Progress: 1478 on 8158  Progress: 1479 on 8158  Progress: 1480 on 8158  Progress: 1481 on 8158  Progress: 1482 on 8158  Progress: 1483 on 8158  Progress: 1484 on 8158  Progress: 1485 on 8158  Progress: 1486 on 8158  Progress: 1487 on 8158  Progress: 1488 on 8158  Progress: 1489 on 8158  Progress: 1490 on 8158  Progress: 1491 on 8158  Progress: 1492 on 8158  Progress: 1493 on 8158  Progress: 1494 on 8158  Progress: 1495 on 8158  Progress: 1496 on 8158  Progress: 1497 on 8158  Progress: 1498 on 8158  Progress: 1499 on 8158  Progress: 1500 on 8158  Progress: 1501 on 8158  Progress: 1502 on 8158  Progress: 1503 on 8158  Progress: 1504 on 8158  Progress: 1505 on 8158  Progress: 1506 on 8158  Progress: 1507 on 8158  Progress: 1508 on 8158  Progress: 1509 on 8158  Progress: 1510 on 8158  Progress: 1511 on 8158  Progress: 1512 on 8158  Progress: 1513 on 8158  Progress: 1514 on 8158  Progress: 1515 on 8158  Progress: 1516 on 8158  Progress: 1517 on 8158  Progress: 1518 on 8158  Progress: 1519 on 8158  Progress: 1520 on 8158  Progress: 1521 on 8158  Progress: 1522 on 8158  Progress: 1523 on 8158  Progress: 1524 on 8158  Progress: 1525 on 8158  Progress: 1526 on 8158  Progress: 1527 on 8158  Progress: 1528 on 8158  Progress: 1529 on 8158  Progress: 1530 on 8158  Progress: 1531 on 8158  Progress: 1532 on 8158  Progress: 1533 on 8158  Progress: 1534 on 8158  Progress: 1535 on 8158  Progress: 1536 on 8158  Progress: 1537 on 8158  Progress: 1538 on 8158  Progress: 1539 on 8158  Progress: 1540 on 8158  Progress: 1541 on 8158  Progress: 1542 on 8158  Progress: 1543 on 8158  Progress: 1544 on 8158  Progress: 1545 on 8158  Progress: 1546 on 8158  Progress: 1547 on 8158  Progress: 1548 on 8158  Progress: 1549 on 8158  Progress: 1550 on 8158  Progress: 1551 on 8158  Progress: 1552 on 8158  Progress: 1553 on 8158  Progress: 1554 on 8158  Progress: 1555 on 8158  Progress: 1556 on 8158  Progress: 1557 on 8158  Progress: 1558 on 8158  Progress: 1559 on 8158  Progress: 1560 on 8158  Progress: 1561 on 8158  Progress: 1562 on 8158  Progress: 1563 on 8158  Progress: 1564 on 8158  Progress: 1565 on 8158  Progress: 1566 on 8158  Progress: 1567 on 8158  Progress: 1568 on 8158  Progress: 1569 on 8158  Progress: 1570 on 8158  Progress: 1571 on 8158  Progress: 1572 on 8158  Progress: 1573 on 8158  Progress: 1574 on 8158  Progress: 1575 on 8158  Progress: 1576 on 8158  Progress: 1577 on 8158  Progress: 1578 on 8158  Progress: 1579 on 8158  Progress: 1580 on 8158  Progress: 1581 on 8158  Progress: 1582 on 8158  Progress: 1583 on 8158  Progress: 1584 on 8158  Progress: 1585 on 8158  Progress: 1586 on 8158  Progress: 1587 on 8158  Progress: 1588 on 8158  Progress: 1589 on 8158  Progress: 1590 on 8158  Progress: 1591 on 8158  Progress: 1592 on 8158  Progress: 1593 on 8158  Progress: 1594 on 8158  Progress: 1595 on 8158  Progress: 1596 on 8158  Progress: 1597 on 8158  Progress: 1598 on 8158  Progress: 1599 on 8158  Progress: 1600 on 8158  Progress: 1601 on 8158  Progress: 1602 on 8158  Progress: 1603 on 8158  Progress: 1604 on 8158  Progress: 1605 on 8158  Progress: 1606 on 8158  Progress: 1607 on 8158  Progress: 1608 on 8158  Progress: 1609 on 8158  Progress: 1610 on 8158  Progress: 1611 on 8158  Progress: 1612 on 8158  Progress: 1613 on 8158  Progress: 1614 on 8158  Progress: 1615 on 8158  Progress: 1616 on 8158  Progress: 1617 on 8158  Progress: 1618 on 8158  Progress: 1619 on 8158  Progress: 1620 on 8158  Progress: 1621 on 8158  Progress: 1622 on 8158  Progress: 1623 on 8158  Progress: 1624 on 8158  Progress: 1625 on 8158  Progress: 1626 on 8158  Progress: 1627 on 8158  Progress: 1628 on 8158  Progress: 1629 on 8158  Progress: 1630 on 8158  Progress: 1631 on 8158  Progress: 1632 on 8158  Progress: 1633 on 8158  Progress: 1634 on 8158  Progress: 1635 on 8158  Progress: 1636 on 8158  Progress: 1637 on 8158  Progress: 1638 on 8158  Progress: 1639 on 8158  Progress: 1640 on 8158  Progress: 1641 on 8158  Progress: 1642 on 8158  Progress: 1643 on 8158  Progress: 1644 on 8158  Progress: 1645 on 8158  Progress: 1646 on 8158  Progress: 1647 on 8158  Progress: 1648 on 8158  Progress: 1649 on 8158  Progress: 1650 on 8158  Progress: 1651 on 8158  Progress: 1652 on 8158  Progress: 1653 on 8158  Progress: 1654 on 8158  Progress: 1655 on 8158  Progress: 1656 on 8158  Progress: 1657 on 8158  Progress: 1658 on 8158  Progress: 1659 on 8158  Progress: 1660 on 8158  Progress: 1661 on 8158  Progress: 1662 on 8158  Progress: 1663 on 8158  Progress: 1664 on 8158  Progress: 1665 on 8158  Progress: 1666 on 8158  Progress: 1667 on 8158  Progress: 1668 on 8158  Progress: 1669 on 8158  Progress: 1670 on 8158  Progress: 1671 on 8158  Progress: 1672 on 8158  Progress: 1673 on 8158  Progress: 1674 on 8158  Progress: 1675 on 8158  Progress: 1676 on 8158  Progress: 1677 on 8158  Progress: 1678 on 8158  Progress: 1679 on 8158  Progress: 1680 on 8158  Progress: 1681 on 8158  Progress: 1682 on 8158  Progress: 1683 on 8158  Progress: 1684 on 8158  Progress: 1685 on 8158  Progress: 1686 on 8158  Progress: 1687 on 8158  Progress: 1688 on 8158  Progress: 1689 on 8158  Progress: 1690 on 8158  Progress: 1691 on 8158  Progress: 1692 on 8158  Progress: 1693 on 8158  Progress: 1694 on 8158  Progress: 1695 on 8158  Progress: 1696 on 8158  Progress: 1697 on 8158  Progress: 1698 on 8158  Progress: 1699 on 8158  Progress: 1700 on 8158  Progress: 1701 on 8158  Progress: 1702 on 8158  Progress: 1703 on 8158  Progress: 1704 on 8158  Progress: 1705 on 8158  Progress: 1706 on 8158  Progress: 1707 on 8158  Progress: 1708 on 8158  Progress: 1709 on 8158  Progress: 1710 on 8158  Progress: 1711 on 8158  Progress: 1712 on 8158  Progress: 1713 on 8158  Progress: 1714 on 8158  Progress: 1715 on 8158  Progress: 1716 on 8158  Progress: 1717 on 8158  Progress: 1718 on 8158  Progress: 1719 on 8158  Progress: 1720 on 8158  Progress: 1721 on 8158  Progress: 1722 on 8158  Progress: 1723 on 8158  Progress: 1724 on 8158  Progress: 1725 on 8158  Progress: 1726 on 8158  Progress: 1727 on 8158  Progress: 1728 on 8158  Progress: 1729 on 8158  Progress: 1730 on 8158  Progress: 1731 on 8158  Progress: 1732 on 8158  Progress: 1733 on 8158  Progress: 1734 on 8158  Progress: 1735 on 8158  Progress: 1736 on 8158  Progress: 1737 on 8158  Progress: 1738 on 8158  Progress: 1739 on 8158  Progress: 1740 on 8158  Progress: 1741 on 8158  Progress: 1742 on 8158  Progress: 1743 on 8158  Progress: 1744 on 8158  Progress: 1745 on 8158  Progress: 1746 on 8158  Progress: 1747 on 8158  Progress: 1748 on 8158  Progress: 1749 on 8158  Progress: 1750 on 8158  Progress: 1751 on 8158  Progress: 1752 on 8158  Progress: 1753 on 8158  Progress: 1754 on 8158  Progress: 1755 on 8158  Progress: 1756 on 8158  Progress: 1757 on 8158  Progress: 1758 on 8158  Progress: 1759 on 8158  Progress: 1760 on 8158  Progress: 1761 on 8158  Progress: 1762 on 8158  Progress: 1763 on 8158  Progress: 1764 on 8158  Progress: 1765 on 8158  Progress: 1766 on 8158  Progress: 1767 on 8158  Progress: 1768 on 8158  Progress: 1769 on 8158  Progress: 1770 on 8158  Progress: 1771 on 8158  Progress: 1772 on 8158  Progress: 1773 on 8158  Progress: 1774 on 8158  Progress: 1775 on 8158  Progress: 1776 on 8158  Progress: 1777 on 8158  Progress: 1778 on 8158  Progress: 1779 on 8158  Progress: 1780 on 8158  Progress: 1781 on 8158  Progress: 1782 on 8158  Progress: 1783 on 8158  Progress: 1784 on 8158  Progress: 1785 on 8158  Progress: 1786 on 8158  Progress: 1787 on 8158  Progress: 1788 on 8158  Progress: 1789 on 8158  Progress: 1790 on 8158  Progress: 1791 on 8158  Progress: 1792 on 8158  Progress: 1793 on 8158  Progress: 1794 on 8158  Progress: 1795 on 8158  Progress: 1796 on 8158  Progress: 1797 on 8158  Progress: 1798 on 8158  Progress: 1799 on 8158  Progress: 1800 on 8158  Progress: 1801 on 8158  Progress: 1802 on 8158  Progress: 1803 on 8158  Progress: 1804 on 8158  Progress: 1805 on 8158  Progress: 1806 on 8158  Progress: 1807 on 8158  Progress: 1808 on 8158  Progress: 1809 on 8158  Progress: 1810 on 8158  Progress: 1811 on 8158  Progress: 1812 on 8158  Progress: 1813 on 8158  Progress: 1814 on 8158  Progress: 1815 on 8158  Progress: 1816 on 8158  Progress: 1817 on 8158  Progress: 1818 on 8158  Progress: 1819 on 8158  Progress: 1820 on 8158  Progress: 1821 on 8158  Progress: 1822 on 8158  Progress: 1823 on 8158  Progress: 1824 on 8158  Progress: 1825 on 8158  Progress: 1826 on 8158  Progress: 1827 on 8158  Progress: 1828 on 8158  Progress: 1829 on 8158  Progress: 1830 on 8158  Progress: 1831 on 8158  Progress: 1832 on 8158  Progress: 1833 on 8158  Progress: 1834 on 8158  Progress: 1835 on 8158  Progress: 1836 on 8158  Progress: 1837 on 8158  Progress: 1838 on 8158  Progress: 1839 on 8158  Progress: 1840 on 8158  Progress: 1841 on 8158  Progress: 1842 on 8158  Progress: 1843 on 8158  Progress: 1844 on 8158  Progress: 1845 on 8158  Progress: 1846 on 8158  Progress: 1847 on 8158  Progress: 1848 on 8158  Progress: 1849 on 8158  Progress: 1850 on 8158  Progress: 1851 on 8158  Progress: 1852 on 8158  Progress: 1853 on 8158  Progress: 1854 on 8158  Progress: 1855 on 8158  Progress: 1856 on 8158  Progress: 1857 on 8158  Progress: 1858 on 8158  Progress: 1859 on 8158  Progress: 1860 on 8158  Progress: 1861 on 8158  Progress: 1862 on 8158  Progress: 1863 on 8158  Progress: 1864 on 8158  Progress: 1865 on 8158  Progress: 1866 on 8158  Progress: 1867 on 8158  Progress: 1868 on 8158  Progress: 1869 on 8158  Progress: 1870 on 8158  Progress: 1871 on 8158  Progress: 1872 on 8158  Progress: 1873 on 8158  Progress: 1874 on 8158  Progress: 1875 on 8158  Progress: 1876 on 8158  Progress: 1877 on 8158  Progress: 1878 on 8158  Progress: 1879 on 8158  Progress: 1880 on 8158  Progress: 1881 on 8158  Progress: 1882 on 8158  Progress: 1883 on 8158  Progress: 1884 on 8158  Progress: 1885 on 8158  Progress: 1886 on 8158  Progress: 1887 on 8158  Progress: 1888 on 8158  Progress: 1889 on 8158  Progress: 1890 on 8158  Progress: 1891 on 8158  Progress: 1892 on 8158  Progress: 1893 on 8158  Progress: 1894 on 8158  Progress: 1895 on 8158  Progress: 1896 on 8158  Progress: 1897 on 8158  Progress: 1898 on 8158  Progress: 1899 on 8158  Progress: 1900 on 8158  Progress: 1901 on 8158  Progress: 1902 on 8158  Progress: 1903 on 8158  Progress: 1904 on 8158  Progress: 1905 on 8158  Progress: 1906 on 8158  Progress: 1907 on 8158  Progress: 1908 on 8158  Progress: 1909 on 8158  Progress: 1910 on 8158  Progress: 1911 on 8158  Progress: 1912 on 8158  Progress: 1913 on 8158  Progress: 1914 on 8158  Progress: 1915 on 8158  Progress: 1916 on 8158  Progress: 1917 on 8158  Progress: 1918 on 8158  Progress: 1919 on 8158  Progress: 1920 on 8158  Progress: 1921 on 8158  Progress: 1922 on 8158  Progress: 1923 on 8158  Progress: 1924 on 8158  Progress: 1925 on 8158  Progress: 1926 on 8158  Progress: 1927 on 8158  Progress: 1928 on 8158  Progress: 1929 on 8158  Progress: 1930 on 8158  Progress: 1931 on 8158  Progress: 1932 on 8158  Progress: 1933 on 8158  Progress: 1934 on 8158  Progress: 1935 on 8158  Progress: 1936 on 8158  Progress: 1937 on 8158  Progress: 1938 on 8158  Progress: 1939 on 8158  Progress: 1940 on 8158  Progress: 1941 on 8158  Progress: 1942 on 8158  Progress: 1943 on 8158  Progress: 1944 on 8158  Progress: 1945 on 8158  Progress: 1946 on 8158  Progress: 1947 on 8158  Progress: 1948 on 8158  Progress: 1949 on 8158  Progress: 1950 on 8158  Progress: 1951 on 8158  Progress: 1952 on 8158  Progress: 1953 on 8158  Progress: 1954 on 8158  Progress: 1955 on 8158  Progress: 1956 on 8158  Progress: 1957 on 8158  Progress: 1958 on 8158  Progress: 1959 on 8158  Progress: 1960 on 8158  Progress: 1961 on 8158  Progress: 1962 on 8158  Progress: 1963 on 8158  Progress: 1964 on 8158  Progress: 1965 on 8158  Progress: 1966 on 8158  Progress: 1967 on 8158  Progress: 1968 on 8158  Progress: 1969 on 8158  Progress: 1970 on 8158  Progress: 1971 on 8158  Progress: 1972 on 8158  Progress: 1973 on 8158  Progress: 1974 on 8158  Progress: 1975 on 8158  Progress: 1976 on 8158  Progress: 1977 on 8158  Progress: 1978 on 8158  Progress: 1979 on 8158  Progress: 1980 on 8158  Progress: 1981 on 8158  Progress: 1982 on 8158  Progress: 1983 on 8158  Progress: 1984 on 8158  Progress: 1985 on 8158  Progress: 1986 on 8158  Progress: 1987 on 8158  Progress: 1988 on 8158  Progress: 1989 on 8158  Progress: 1990 on 8158  Progress: 1991 on 8158  Progress: 1992 on 8158  Progress: 1993 on 8158  Progress: 1994 on 8158  Progress: 1995 on 8158  Progress: 1996 on 8158  Progress: 1997 on 8158  Progress: 1998 on 8158  Progress: 1999 on 8158  Progress: 2000 on 8158  Progress: 2001 on 8158  Progress: 2002 on 8158  Progress: 2003 on 8158  Progress: 2004 on 8158  Progress: 2005 on 8158  Progress: 2006 on 8158  Progress: 2007 on 8158  Progress: 2008 on 8158  Progress: 2009 on 8158  Progress: 2010 on 8158  Progress: 2011 on 8158  Progress: 2012 on 8158  Progress: 2013 on 8158  Progress: 2014 on 8158  Progress: 2015 on 8158  Progress: 2016 on 8158  Progress: 2017 on 8158  Progress: 2018 on 8158  Progress: 2019 on 8158  Progress: 2020 on 8158  Progress: 2021 on 8158  Progress: 2022 on 8158  Progress: 2023 on 8158  Progress: 2024 on 8158  Progress: 2025 on 8158  Progress: 2026 on 8158  Progress: 2027 on 8158  Progress: 2028 on 8158  Progress: 2029 on 8158  Progress: 2030 on 8158  Progress: 2031 on 8158  Progress: 2032 on 8158  Progress: 2033 on 8158  Progress: 2034 on 8158  Progress: 2035 on 8158  Progress: 2036 on 8158  Progress: 2037 on 8158  Progress: 2038 on 8158  Progress: 2039 on 8158  Progress: 2040 on 8158  Progress: 2041 on 8158  Progress: 2042 on 8158  Progress: 2043 on 8158  Progress: 2044 on 8158  Progress: 2045 on 8158  Progress: 2046 on 8158  Progress: 2047 on 8158  Progress: 2048 on 8158  Progress: 2049 on 8158  Progress: 2050 on 8158  Progress: 2051 on 8158  Progress: 2052 on 8158  Progress: 2053 on 8158  Progress: 2054 on 8158  Progress: 2055 on 8158  Progress: 2056 on 8158  Progress: 2057 on 8158  Progress: 2058 on 8158  Progress: 2059 on 8158  Progress: 2060 on 8158  Progress: 2061 on 8158  Progress: 2062 on 8158  Progress: 2063 on 8158  Progress: 2064 on 8158  Progress: 2065 on 8158  Progress: 2066 on 8158  Progress: 2067 on 8158  Progress: 2068 on 8158  Progress: 2069 on 8158  Progress: 2070 on 8158  Progress: 2071 on 8158  Progress: 2072 on 8158  Progress: 2073 on 8158  Progress: 2074 on 8158  Progress: 2075 on 8158  Progress: 2076 on 8158  Progress: 2077 on 8158  Progress: 2078 on 8158  Progress: 2079 on 8158  Progress: 2080 on 8158  Progress: 2081 on 8158  Progress: 2082 on 8158  Progress: 2083 on 8158  Progress: 2084 on 8158  Progress: 2085 on 8158  Progress: 2086 on 8158  Progress: 2087 on 8158  Progress: 2088 on 8158  Progress: 2089 on 8158  Progress: 2090 on 8158  Progress: 2091 on 8158  Progress: 2092 on 8158  Progress: 2093 on 8158  Progress: 2094 on 8158  Progress: 2095 on 8158  Progress: 2096 on 8158  Progress: 2097 on 8158  Progress: 2098 on 8158  Progress: 2099 on 8158  Progress: 2100 on 8158  Progress: 2101 on 8158  Progress: 2102 on 8158  Progress: 2103 on 8158  Progress: 2104 on 8158  Progress: 2105 on 8158  Progress: 2106 on 8158  Progress: 2107 on 8158  Progress: 2108 on 8158  Progress: 2109 on 8158  Progress: 2110 on 8158  Progress: 2111 on 8158  Progress: 2112 on 8158  Progress: 2113 on 8158  Progress: 2114 on 8158  Progress: 2115 on 8158  Progress: 2116 on 8158  Progress: 2117 on 8158  Progress: 2118 on 8158  Progress: 2119 on 8158  Progress: 2120 on 8158  Progress: 2121 on 8158  Progress: 2122 on 8158  Progress: 2123 on 8158  Progress: 2124 on 8158  Progress: 2125 on 8158  Progress: 2126 on 8158  Progress: 2127 on 8158  Progress: 2128 on 8158  Progress: 2129 on 8158  Progress: 2130 on 8158  Progress: 2131 on 8158  Progress: 2132 on 8158  Progress: 2133 on 8158  Progress: 2134 on 8158  Progress: 2135 on 8158  Progress: 2136 on 8158  Progress: 2137 on 8158  Progress: 2138 on 8158  Progress: 2139 on 8158  Progress: 2140 on 8158  Progress: 2141 on 8158  Progress: 2142 on 8158  Progress: 2143 on 8158  Progress: 2144 on 8158  Progress: 2145 on 8158  Progress: 2146 on 8158  Progress: 2147 on 8158  Progress: 2148 on 8158  Progress: 2149 on 8158  Progress: 2150 on 8158  Progress: 2151 on 8158  Progress: 2152 on 8158  Progress: 2153 on 8158  Progress: 2154 on 8158  Progress: 2155 on 8158  Progress: 2156 on 8158  Progress: 2157 on 8158  Progress: 2158 on 8158  Progress: 2159 on 8158  Progress: 2160 on 8158  Progress: 2161 on 8158  Progress: 2162 on 8158  Progress: 2163 on 8158  Progress: 2164 on 8158  Progress: 2165 on 8158  Progress: 2166 on 8158  Progress: 2167 on 8158  Progress: 2168 on 8158  Progress: 2169 on 8158  Progress: 2170 on 8158  Progress: 2171 on 8158  Progress: 2172 on 8158  Progress: 2173 on 8158  Progress: 2174 on 8158  Progress: 2175 on 8158  Progress: 2176 on 8158  Progress: 2177 on 8158  Progress: 2178 on 8158  Progress: 2179 on 8158  Progress: 2180 on 8158  Progress: 2181 on 8158  Progress: 2182 on 8158  Progress: 2183 on 8158  Progress: 2184 on 8158  Progress: 2185 on 8158  Progress: 2186 on 8158  Progress: 2187 on 8158  Progress: 2188 on 8158  Progress: 2189 on 8158  Progress: 2190 on 8158  Progress: 2191 on 8158  Progress: 2192 on 8158  Progress: 2193 on 8158  Progress: 2194 on 8158  Progress: 2195 on 8158  Progress: 2196 on 8158  Progress: 2197 on 8158  Progress: 2198 on 8158  Progress: 2199 on 8158  Progress: 2200 on 8158  Progress: 2201 on 8158  Progress: 2202 on 8158  Progress: 2203 on 8158  Progress: 2204 on 8158  Progress: 2205 on 8158  Progress: 2206 on 8158  Progress: 2207 on 8158  Progress: 2208 on 8158  Progress: 2209 on 8158  Progress: 2210 on 8158  Progress: 2211 on 8158  Progress: 2212 on 8158  Progress: 2213 on 8158  Progress: 2214 on 8158  Progress: 2215 on 8158  Progress: 2216 on 8158  Progress: 2217 on 8158  Progress: 2218 on 8158  Progress: 2219 on 8158  Progress: 2220 on 8158  Progress: 2221 on 8158  Progress: 2222 on 8158  Progress: 2223 on 8158  Progress: 2224 on 8158  Progress: 2225 on 8158  Progress: 2226 on 8158  Progress: 2227 on 8158  Progress: 2228 on 8158  Progress: 2229 on 8158  Progress: 2230 on 8158  Progress: 2231 on 8158  Progress: 2232 on 8158  Progress: 2233 on 8158  Progress: 2234 on 8158  Progress: 2235 on 8158  Progress: 2236 on 8158  Progress: 2237 on 8158  Progress: 2238 on 8158  Progress: 2239 on 8158  Progress: 2240 on 8158  Progress: 2241 on 8158  Progress: 2242 on 8158  Progress: 2243 on 8158  Progress: 2244 on 8158  Progress: 2245 on 8158  Progress: 2246 on 8158  Progress: 2247 on 8158  Progress: 2248 on 8158  Progress: 2249 on 8158  Progress: 2250 on 8158  Progress: 2251 on 8158  Progress: 2252 on 8158  Progress: 2253 on 8158  Progress: 2254 on 8158  Progress: 2255 on 8158  Progress: 2256 on 8158  Progress: 2257 on 8158  Progress: 2258 on 8158  Progress: 2259 on 8158  Progress: 2260 on 8158  Progress: 2261 on 8158  Progress: 2262 on 8158  Progress: 2263 on 8158  Progress: 2264 on 8158  Progress: 2265 on 8158  Progress: 2266 on 8158  Progress: 2267 on 8158  Progress: 2268 on 8158  Progress: 2269 on 8158  Progress: 2270 on 8158  Progress: 2271 on 8158  Progress: 2272 on 8158  Progress: 2273 on 8158  Progress: 2274 on 8158  Progress: 2275 on 8158  Progress: 2276 on 8158  Progress: 2277 on 8158  Progress: 2278 on 8158  Progress: 2279 on 8158  Progress: 2280 on 8158  Progress: 2281 on 8158  Progress: 2282 on 8158  Progress: 2283 on 8158  Progress: 2284 on 8158  Progress: 2285 on 8158  Progress: 2286 on 8158  Progress: 2287 on 8158  Progress: 2288 on 8158  Progress: 2289 on 8158  Progress: 2290 on 8158  Progress: 2291 on 8158  Progress: 2292 on 8158  Progress: 2293 on 8158  Progress: 2294 on 8158  Progress: 2295 on 8158  Progress: 2296 on 8158  Progress: 2297 on 8158  Progress: 2298 on 8158  Progress: 2299 on 8158  Progress: 2300 on 8158  Progress: 2301 on 8158  Progress: 2302 on 8158  Progress: 2303 on 8158  Progress: 2304 on 8158  Progress: 2305 on 8158  Progress: 2306 on 8158  Progress: 2307 on 8158  Progress: 2308 on 8158  Progress: 2309 on 8158  Progress: 2310 on 8158  Progress: 2311 on 8158  Progress: 2312 on 8158  Progress: 2313 on 8158  Progress: 2314 on 8158  Progress: 2315 on 8158  Progress: 2316 on 8158  Progress: 2317 on 8158  Progress: 2318 on 8158  Progress: 2319 on 8158  Progress: 2320 on 8158  Progress: 2321 on 8158  Progress: 2322 on 8158  Progress: 2323 on 8158  Progress: 2324 on 8158  Progress: 2325 on 8158  Progress: 2326 on 8158  Progress: 2327 on 8158  Progress: 2328 on 8158  Progress: 2329 on 8158  Progress: 2330 on 8158  Progress: 2331 on 8158  Progress: 2332 on 8158  Progress: 2333 on 8158  Progress: 2334 on 8158  Progress: 2335 on 8158  Progress: 2336 on 8158  Progress: 2337 on 8158  Progress: 2338 on 8158  Progress: 2339 on 8158  Progress: 2340 on 8158  Progress: 2341 on 8158  Progress: 2342 on 8158  Progress: 2343 on 8158  Progress: 2344 on 8158  Progress: 2345 on 8158  Progress: 2346 on 8158  Progress: 2347 on 8158  Progress: 2348 on 8158  Progress: 2349 on 8158  Progress: 2350 on 8158  Progress: 2351 on 8158  Progress: 2352 on 8158  Progress: 2353 on 8158  Progress: 2354 on 8158  Progress: 2355 on 8158  Progress: 2356 on 8158  Progress: 2357 on 8158  Progress: 2358 on 8158  Progress: 2359 on 8158  Progress: 2360 on 8158  Progress: 2361 on 8158  Progress: 2362 on 8158  Progress: 2363 on 8158  Progress: 2364 on 8158  Progress: 2365 on 8158  Progress: 2366 on 8158  Progress: 2367 on 8158  Progress: 2368 on 8158  Progress: 2369 on 8158  Progress: 2370 on 8158  Progress: 2371 on 8158  Progress: 2372 on 8158  Progress: 2373 on 8158  Progress: 2374 on 8158  Progress: 2375 on 8158  Progress: 2376 on 8158  Progress: 2377 on 8158  Progress: 2378 on 8158  Progress: 2379 on 8158  Progress: 2380 on 8158  Progress: 2381 on 8158  Progress: 2382 on 8158  Progress: 2383 on 8158  Progress: 2384 on 8158  Progress: 2385 on 8158  Progress: 2386 on 8158  Progress: 2387 on 8158  Progress: 2388 on 8158  Progress: 2389 on 8158  Progress: 2390 on 8158  Progress: 2391 on 8158  Progress: 2392 on 8158  Progress: 2393 on 8158  Progress: 2394 on 8158  Progress: 2395 on 8158  Progress: 2396 on 8158  Progress: 2397 on 8158  Progress: 2398 on 8158  Progress: 2399 on 8158  Progress: 2400 on 8158  Progress: 2401 on 8158  Progress: 2402 on 8158  Progress: 2403 on 8158  Progress: 2404 on 8158  Progress: 2405 on 8158  Progress: 2406 on 8158  Progress: 2407 on 8158  Progress: 2408 on 8158  Progress: 2409 on 8158  Progress: 2410 on 8158  Progress: 2411 on 8158  Progress: 2412 on 8158  Progress: 2413 on 8158  Progress: 2414 on 8158  Progress: 2415 on 8158  Progress: 2416 on 8158  Progress: 2417 on 8158  Progress: 2418 on 8158  Progress: 2419 on 8158  Progress: 2420 on 8158  Progress: 2421 on 8158  Progress: 2422 on 8158  Progress: 2423 on 8158  Progress: 2424 on 8158  Progress: 2425 on 8158  Progress: 2426 on 8158  Progress: 2427 on 8158  Progress: 2428 on 8158  Progress: 2429 on 8158  Progress: 2430 on 8158  Progress: 2431 on 8158  Progress: 2432 on 8158  Progress: 2433 on 8158  Progress: 2434 on 8158  Progress: 2435 on 8158  Progress: 2436 on 8158  Progress: 2437 on 8158  Progress: 2438 on 8158  Progress: 2439 on 8158  Progress: 2440 on 8158  Progress: 2441 on 8158  Progress: 2442 on 8158  Progress: 2443 on 8158  Progress: 2444 on 8158  Progress: 2445 on 8158  Progress: 2446 on 8158  Progress: 2447 on 8158  Progress: 2448 on 8158  Progress: 2449 on 8158  Progress: 2450 on 8158  Progress: 2451 on 8158  Progress: 2452 on 8158  Progress: 2453 on 8158  Progress: 2454 on 8158  Progress: 2455 on 8158  Progress: 2456 on 8158  Progress: 2457 on 8158  Progress: 2458 on 8158  Progress: 2459 on 8158  Progress: 2460 on 8158  Progress: 2461 on 8158  Progress: 2462 on 8158  Progress: 2463 on 8158  Progress: 2464 on 8158  Progress: 2465 on 8158  Progress: 2466 on 8158  Progress: 2467 on 8158  Progress: 2468 on 8158  Progress: 2469 on 8158  Progress: 2470 on 8158  Progress: 2471 on 8158  Progress: 2472 on 8158  Progress: 2473 on 8158  Progress: 2474 on 8158  Progress: 2475 on 8158  Progress: 2476 on 8158  Progress: 2477 on 8158  Progress: 2478 on 8158  Progress: 2479 on 8158  Progress: 2480 on 8158  Progress: 2481 on 8158  Progress: 2482 on 8158  Progress: 2483 on 8158  Progress: 2484 on 8158  Progress: 2485 on 8158  Progress: 2486 on 8158  Progress: 2487 on 8158  Progress: 2488 on 8158  Progress: 2489 on 8158  Progress: 2490 on 8158  Progress: 2491 on 8158  Progress: 2492 on 8158  Progress: 2493 on 8158  Progress: 2494 on 8158  Progress: 2495 on 8158  Progress: 2496 on 8158  Progress: 2497 on 8158  Progress: 2498 on 8158  Progress: 2499 on 8158  Progress: 2500 on 8158  Progress: 2501 on 8158  Progress: 2502 on 8158  Progress: 2503 on 8158  Progress: 2504 on 8158  Progress: 2505 on 8158  Progress: 2506 on 8158  Progress: 2507 on 8158  Progress: 2508 on 8158  Progress: 2509 on 8158  Progress: 2510 on 8158  Progress: 2511 on 8158  Progress: 2512 on 8158  Progress: 2513 on 8158  Progress: 2514 on 8158  Progress: 2515 on 8158  Progress: 2516 on 8158  Progress: 2517 on 8158  Progress: 2518 on 8158  Progress: 2519 on 8158  Progress: 2520 on 8158  Progress: 2521 on 8158  Progress: 2522 on 8158  Progress: 2523 on 8158  Progress: 2524 on 8158  Progress: 2525 on 8158  Progress: 2526 on 8158  Progress: 2527 on 8158  Progress: 2528 on 8158  Progress: 2529 on 8158  Progress: 2530 on 8158  Progress: 2531 on 8158  Progress: 2532 on 8158  Progress: 2533 on 8158  Progress: 2534 on 8158  Progress: 2535 on 8158  Progress: 2536 on 8158  Progress: 2537 on 8158  Progress: 2538 on 8158  Progress: 2539 on 8158  Progress: 2540 on 8158  Progress: 2541 on 8158  Progress: 2542 on 8158  Progress: 2543 on 8158  Progress: 2544 on 8158  Progress: 2545 on 8158  Progress: 2546 on 8158  Progress: 2547 on 8158  Progress: 2548 on 8158  Progress: 2549 on 8158  Progress: 2550 on 8158  Progress: 2551 on 8158  Progress: 2552 on 8158  Progress: 2553 on 8158  Progress: 2554 on 8158  Progress: 2555 on 8158  Progress: 2556 on 8158  Progress: 2557 on 8158  Progress: 2558 on 8158  Progress: 2559 on 8158  Progress: 2560 on 8158  Progress: 2561 on 8158  Progress: 2562 on 8158  Progress: 2563 on 8158  Progress: 2564 on 8158  Progress: 2565 on 8158  Progress: 2566 on 8158  Progress: 2567 on 8158  Progress: 2568 on 8158  Progress: 2569 on 8158  Progress: 2570 on 8158  Progress: 2571 on 8158  Progress: 2572 on 8158  Progress: 2573 on 8158  Progress: 2574 on 8158  Progress: 2575 on 8158  Progress: 2576 on 8158  Progress: 2577 on 8158  Progress: 2578 on 8158  Progress: 2579 on 8158  Progress: 2580 on 8158  Progress: 2581 on 8158  Progress: 2582 on 8158  Progress: 2583 on 8158  Progress: 2584 on 8158  Progress: 2585 on 8158  Progress: 2586 on 8158  Progress: 2587 on 8158  Progress: 2588 on 8158  Progress: 2589 on 8158  Progress: 2590 on 8158  Progress: 2591 on 8158  Progress: 2592 on 8158  Progress: 2593 on 8158  Progress: 2594 on 8158  Progress: 2595 on 8158  Progress: 2596 on 8158  Progress: 2597 on 8158  Progress: 2598 on 8158  Progress: 2599 on 8158  Progress: 2600 on 8158  Progress: 2601 on 8158  Progress: 2602 on 8158  Progress: 2603 on 8158  Progress: 2604 on 8158  Progress: 2605 on 8158  Progress: 2606 on 8158  Progress: 2607 on 8158  Progress: 2608 on 8158  Progress: 2609 on 8158  Progress: 2610 on 8158  Progress: 2611 on 8158  Progress: 2612 on 8158  Progress: 2613 on 8158  Progress: 2614 on 8158  Progress: 2615 on 8158  Progress: 2616 on 8158  Progress: 2617 on 8158  Progress: 2618 on 8158  Progress: 2619 on 8158  Progress: 2620 on 8158  Progress: 2621 on 8158  Progress: 2622 on 8158  Progress: 2623 on 8158  Progress: 2624 on 8158  Progress: 2625 on 8158  Progress: 2626 on 8158  Progress: 2627 on 8158  Progress: 2628 on 8158  Progress: 2629 on 8158  Progress: 2630 on 8158  Progress: 2631 on 8158  Progress: 2632 on 8158  Progress: 2633 on 8158  Progress: 2634 on 8158  Progress: 2635 on 8158  Progress: 2636 on 8158  Progress: 2637 on 8158  Progress: 2638 on 8158  Progress: 2639 on 8158  Progress: 2640 on 8158  Progress: 2641 on 8158  Progress: 2642 on 8158  Progress: 2643 on 8158  Progress: 2644 on 8158  Progress: 2645 on 8158  Progress: 2646 on 8158  Progress: 2647 on 8158  Progress: 2648 on 8158  Progress: 2649 on 8158  Progress: 2650 on 8158  Progress: 2651 on 8158  Progress: 2652 on 8158  Progress: 2653 on 8158  Progress: 2654 on 8158  Progress: 2655 on 8158  Progress: 2656 on 8158  Progress: 2657 on 8158  Progress: 2658 on 8158  Progress: 2659 on 8158  Progress: 2660 on 8158  Progress: 2661 on 8158  Progress: 2662 on 8158  Progress: 2663 on 8158  Progress: 2664 on 8158  Progress: 2665 on 8158  Progress: 2666 on 8158  Progress: 2667 on 8158  Progress: 2668 on 8158  Progress: 2669 on 8158  Progress: 2670 on 8158  Progress: 2671 on 8158  Progress: 2672 on 8158  Progress: 2673 on 8158  Progress: 2674 on 8158  Progress: 2675 on 8158  Progress: 2676 on 8158  Progress: 2677 on 8158  Progress: 2678 on 8158  Progress: 2679 on 8158  Progress: 2680 on 8158  Progress: 2681 on 8158  Progress: 2682 on 8158  Progress: 2683 on 8158  Progress: 2684 on 8158  Progress: 2685 on 8158  Progress: 2686 on 8158  Progress: 2687 on 8158  Progress: 2688 on 8158  Progress: 2689 on 8158  Progress: 2690 on 8158  Progress: 2691 on 8158  Progress: 2692 on 8158  Progress: 2693 on 8158  Progress: 2694 on 8158  Progress: 2695 on 8158  Progress: 2696 on 8158  Progress: 2697 on 8158  Progress: 2698 on 8158  Progress: 2699 on 8158  Progress: 2700 on 8158  Progress: 2701 on 8158  Progress: 2702 on 8158  Progress: 2703 on 8158  Progress: 2704 on 8158  Progress: 2705 on 8158  Progress: 2706 on 8158  Progress: 2707 on 8158  Progress: 2708 on 8158  Progress: 2709 on 8158  Progress: 2710 on 8158  Progress: 2711 on 8158  Progress: 2712 on 8158  Progress: 2713 on 8158  Progress: 2714 on 8158  Progress: 2715 on 8158  Progress: 2716 on 8158  Progress: 2717 on 8158  Progress: 2718 on 8158  Progress: 2719 on 8158  Progress: 2720 on 8158  Progress: 2721 on 8158  Progress: 2722 on 8158  Progress: 2723 on 8158  Progress: 2724 on 8158  Progress: 2725 on 8158  Progress: 2726 on 8158  Progress: 2727 on 8158  Progress: 2728 on 8158  Progress: 2729 on 8158  Progress: 2730 on 8158  Progress: 2731 on 8158  Progress: 2732 on 8158  Progress: 2733 on 8158  Progress: 2734 on 8158  Progress: 2735 on 8158  Progress: 2736 on 8158  Progress: 2737 on 8158  Progress: 2738 on 8158  Progress: 2739 on 8158  Progress: 2740 on 8158  Progress: 2741 on 8158  Progress: 2742 on 8158  Progress: 2743 on 8158  Progress: 2744 on 8158  Progress: 2745 on 8158  Progress: 2746 on 8158  Progress: 2747 on 8158  Progress: 2748 on 8158  Progress: 2749 on 8158  Progress: 2750 on 8158  Progress: 2751 on 8158  Progress: 2752 on 8158  Progress: 2753 on 8158  Progress: 2754 on 8158  Progress: 2755 on 8158  Progress: 2756 on 8158  Progress: 2757 on 8158  Progress: 2758 on 8158  Progress: 2759 on 8158  Progress: 2760 on 8158  Progress: 2761 on 8158  Progress: 2762 on 8158  Progress: 2763 on 8158  Progress: 2764 on 8158  Progress: 2765 on 8158  Progress: 2766 on 8158  Progress: 2767 on 8158  Progress: 2768 on 8158  Progress: 2769 on 8158  Progress: 2770 on 8158  Progress: 2771 on 8158  Progress: 2772 on 8158  Progress: 2773 on 8158  Progress: 2774 on 8158  Progress: 2775 on 8158  Progress: 2776 on 8158  Progress: 2777 on 8158  Progress: 2778 on 8158  Progress: 2779 on 8158  Progress: 2780 on 8158  Progress: 2781 on 8158  Progress: 2782 on 8158  Progress: 2783 on 8158  Progress: 2784 on 8158  Progress: 2785 on 8158  Progress: 2786 on 8158  Progress: 2787 on 8158  Progress: 2788 on 8158  Progress: 2789 on 8158  Progress: 2790 on 8158  Progress: 2791 on 8158  Progress: 2792 on 8158  Progress: 2793 on 8158  Progress: 2794 on 8158  Progress: 2795 on 8158  Progress: 2796 on 8158  Progress: 2797 on 8158  Progress: 2798 on 8158  Progress: 2799 on 8158  Progress: 2800 on 8158  Progress: 2801 on 8158  Progress: 2802 on 8158  Progress: 2803 on 8158  Progress: 2804 on 8158  Progress: 2805 on 8158  Progress: 2806 on 8158  Progress: 2807 on 8158  Progress: 2808 on 8158  Progress: 2809 on 8158  Progress: 2810 on 8158  Progress: 2811 on 8158  Progress: 2812 on 8158  Progress: 2813 on 8158  Progress: 2814 on 8158  Progress: 2815 on 8158  Progress: 2816 on 8158  Progress: 2817 on 8158  Progress: 2818 on 8158  Progress: 2819 on 8158  Progress: 2820 on 8158  Progress: 2821 on 8158  Progress: 2822 on 8158  Progress: 2823 on 8158  Progress: 2824 on 8158  Progress: 2825 on 8158  Progress: 2826 on 8158  Progress: 2827 on 8158  Progress: 2828 on 8158  Progress: 2829 on 8158  Progress: 2830 on 8158  Progress: 2831 on 8158  Progress: 2832 on 8158  Progress: 2833 on 8158  Progress: 2834 on 8158  Progress: 2835 on 8158  Progress: 2836 on 8158  Progress: 2837 on 8158  Progress: 2838 on 8158  Progress: 2839 on 8158  Progress: 2840 on 8158  Progress: 2841 on 8158  Progress: 2842 on 8158  Progress: 2843 on 8158  Progress: 2844 on 8158  Progress: 2845 on 8158  Progress: 2846 on 8158  Progress: 2847 on 8158  Progress: 2848 on 8158  Progress: 2849 on 8158  Progress: 2850 on 8158  Progress: 2851 on 8158  Progress: 2852 on 8158  Progress: 2853 on 8158  Progress: 2854 on 8158  Progress: 2855 on 8158  Progress: 2856 on 8158  Progress: 2857 on 8158  Progress: 2858 on 8158  Progress: 2859 on 8158  Progress: 2860 on 8158  Progress: 2861 on 8158  Progress: 2862 on 8158  Progress: 2863 on 8158  Progress: 2864 on 8158  Progress: 2865 on 8158  Progress: 2866 on 8158  Progress: 2867 on 8158  Progress: 2868 on 8158  Progress: 2869 on 8158  Progress: 2870 on 8158  Progress: 2871 on 8158  Progress: 2872 on 8158  Progress: 2873 on 8158  Progress: 2874 on 8158  Progress: 2875 on 8158  Progress: 2876 on 8158  Progress: 2877 on 8158  Progress: 2878 on 8158  Progress: 2879 on 8158  Progress: 2880 on 8158  Progress: 2881 on 8158  Progress: 2882 on 8158  Progress: 2883 on 8158  Progress: 2884 on 8158  Progress: 2885 on 8158  Progress: 2886 on 8158  Progress: 2887 on 8158  Progress: 2888 on 8158  Progress: 2889 on 8158  Progress: 2890 on 8158  Progress: 2891 on 8158  Progress: 2892 on 8158  Progress: 2893 on 8158  Progress: 2894 on 8158  Progress: 2895 on 8158  Progress: 2896 on 8158  Progress: 2897 on 8158  Progress: 2898 on 8158  Progress: 2899 on 8158  Progress: 2900 on 8158  Progress: 2901 on 8158  Progress: 2902 on 8158  Progress: 2903 on 8158  Progress: 2904 on 8158  Progress: 2905 on 8158  Progress: 2906 on 8158  Progress: 2907 on 8158  Progress: 2908 on 8158  Progress: 2909 on 8158  Progress: 2910 on 8158  Progress: 2911 on 8158  Progress: 2912 on 8158  Progress: 2913 on 8158  Progress: 2914 on 8158  Progress: 2915 on 8158  Progress: 2916 on 8158  Progress: 2917 on 8158  Progress: 2918 on 8158  Progress: 2919 on 8158  Progress: 2920 on 8158  Progress: 2921 on 8158  Progress: 2922 on 8158  Progress: 2923 on 8158  Progress: 2924 on 8158  Progress: 2925 on 8158  Progress: 2926 on 8158  Progress: 2927 on 8158  Progress: 2928 on 8158  Progress: 2929 on 8158  Progress: 2930 on 8158  Progress: 2931 on 8158  Progress: 2932 on 8158  Progress: 2933 on 8158  Progress: 2934 on 8158  Progress: 2935 on 8158  Progress: 2936 on 8158  Progress: 2937 on 8158  Progress: 2938 on 8158  Progress: 2939 on 8158  Progress: 2940 on 8158  Progress: 2941 on 8158  Progress: 2942 on 8158  Progress: 2943 on 8158  Progress: 2944 on 8158  Progress: 2945 on 8158  Progress: 2946 on 8158  Progress: 2947 on 8158  Progress: 2948 on 8158  Progress: 2949 on 8158  Progress: 2950 on 8158  Progress: 2951 on 8158  Progress: 2952 on 8158  Progress: 2953 on 8158  Progress: 2954 on 8158  Progress: 2955 on 8158  Progress: 2956 on 8158  Progress: 2957 on 8158  Progress: 2958 on 8158  Progress: 2959 on 8158  Progress: 2960 on 8158  Progress: 2961 on 8158  Progress: 2962 on 8158  Progress: 2963 on 8158  Progress: 2964 on 8158  Progress: 2965 on 8158  Progress: 2966 on 8158  Progress: 2967 on 8158  Progress: 2968 on 8158  Progress: 2969 on 8158  Progress: 2970 on 8158  Progress: 2971 on 8158  Progress: 2972 on 8158  Progress: 2973 on 8158  Progress: 2974 on 8158  Progress: 2975 on 8158  Progress: 2976 on 8158  Progress: 2977 on 8158  Progress: 2978 on 8158  Progress: 2979 on 8158  Progress: 2980 on 8158  Progress: 2981 on 8158  Progress: 2982 on 8158  Progress: 2983 on 8158  Progress: 2984 on 8158  Progress: 2985 on 8158  Progress: 2986 on 8158  Progress: 2987 on 8158  Progress: 2988 on 8158  Progress: 2989 on 8158  Progress: 2990 on 8158  Progress: 2991 on 8158  Progress: 2992 on 8158  Progress: 2993 on 8158  Progress: 2994 on 8158  Progress: 2995 on 8158  Progress: 2996 on 8158  Progress: 2997 on 8158  Progress: 2998 on 8158  Progress: 2999 on 8158  Progress: 3000 on 8158  Progress: 3001 on 8158  Progress: 3002 on 8158  Progress: 3003 on 8158  Progress: 3004 on 8158  Progress: 3005 on 8158  Progress: 3006 on 8158  Progress: 3007 on 8158  Progress: 3008 on 8158  Progress: 3009 on 8158  Progress: 3010 on 8158  Progress: 3011 on 8158  Progress: 3012 on 8158  Progress: 3013 on 8158  Progress: 3014 on 8158  Progress: 3015 on 8158  Progress: 3016 on 8158  Progress: 3017 on 8158  Progress: 3018 on 8158  Progress: 3019 on 8158  Progress: 3020 on 8158  Progress: 3021 on 8158  Progress: 3022 on 8158  Progress: 3023 on 8158  Progress: 3024 on 8158  Progress: 3025 on 8158  Progress: 3026 on 8158  Progress: 3027 on 8158  Progress: 3028 on 8158  Progress: 3029 on 8158  Progress: 3030 on 8158  Progress: 3031 on 8158  Progress: 3032 on 8158  Progress: 3033 on 8158  Progress: 3034 on 8158  Progress: 3035 on 8158  Progress: 3036 on 8158  Progress: 3037 on 8158  Progress: 3038 on 8158  Progress: 3039 on 8158  Progress: 3040 on 8158  Progress: 3041 on 8158  Progress: 3042 on 8158  Progress: 3043 on 8158  Progress: 3044 on 8158  Progress: 3045 on 8158  Progress: 3046 on 8158  Progress: 3047 on 8158  Progress: 3048 on 8158  Progress: 3049 on 8158  Progress: 3050 on 8158  Progress: 3051 on 8158  Progress: 3052 on 8158  Progress: 3053 on 8158  Progress: 3054 on 8158  Progress: 3055 on 8158  Progress: 3056 on 8158  Progress: 3057 on 8158  Progress: 3058 on 8158  Progress: 3059 on 8158  Progress: 3060 on 8158  Progress: 3061 on 8158  Progress: 3062 on 8158  Progress: 3063 on 8158  Progress: 3064 on 8158  Progress: 3065 on 8158  Progress: 3066 on 8158  Progress: 3067 on 8158  Progress: 3068 on 8158  Progress: 3069 on 8158  Progress: 3070 on 8158  Progress: 3071 on 8158  Progress: 3072 on 8158  Progress: 3073 on 8158  Progress: 3074 on 8158  Progress: 3075 on 8158  Progress: 3076 on 8158  Progress: 3077 on 8158  Progress: 3078 on 8158  Progress: 3079 on 8158  Progress: 3080 on 8158  Progress: 3081 on 8158  Progress: 3082 on 8158  Progress: 3083 on 8158  Progress: 3084 on 8158  Progress: 3085 on 8158  Progress: 3086 on 8158  Progress: 3087 on 8158  Progress: 3088 on 8158  Progress: 3089 on 8158  Progress: 3090 on 8158  Progress: 3091 on 8158  Progress: 3092 on 8158  Progress: 3093 on 8158  Progress: 3094 on 8158  Progress: 3095 on 8158  Progress: 3096 on 8158  Progress: 3097 on 8158  Progress: 3098 on 8158  Progress: 3099 on 8158  Progress: 3100 on 8158  Progress: 3101 on 8158  Progress: 3102 on 8158  Progress: 3103 on 8158  Progress: 3104 on 8158  Progress: 3105 on 8158  Progress: 3106 on 8158  Progress: 3107 on 8158  Progress: 3108 on 8158  Progress: 3109 on 8158  Progress: 3110 on 8158  Progress: 3111 on 8158  Progress: 3112 on 8158  Progress: 3113 on 8158  Progress: 3114 on 8158  Progress: 3115 on 8158  Progress: 3116 on 8158  Progress: 3117 on 8158  Progress: 3118 on 8158  Progress: 3119 on 8158  Progress: 3120 on 8158  Progress: 3121 on 8158  Progress: 3122 on 8158  Progress: 3123 on 8158  Progress: 3124 on 8158  Progress: 3125 on 8158  Progress: 3126 on 8158  Progress: 3127 on 8158  Progress: 3128 on 8158  Progress: 3129 on 8158  Progress: 3130 on 8158  Progress: 3131 on 8158  Progress: 3132 on 8158  Progress: 3133 on 8158  Progress: 3134 on 8158  Progress: 3135 on 8158  Progress: 3136 on 8158  Progress: 3137 on 8158  Progress: 3138 on 8158  Progress: 3139 on 8158  Progress: 3140 on 8158  Progress: 3141 on 8158  Progress: 3142 on 8158  Progress: 3143 on 8158  Progress: 3144 on 8158  Progress: 3145 on 8158  Progress: 3146 on 8158  Progress: 3147 on 8158  Progress: 3148 on 8158  Progress: 3149 on 8158  Progress: 3150 on 8158  Progress: 3151 on 8158  Progress: 3152 on 8158  Progress: 3153 on 8158  Progress: 3154 on 8158  Progress: 3155 on 8158  Progress: 3156 on 8158  Progress: 3157 on 8158  Progress: 3158 on 8158  Progress: 3159 on 8158  Progress: 3160 on 8158  Progress: 3161 on 8158  Progress: 3162 on 8158  Progress: 3163 on 8158  Progress: 3164 on 8158  Progress: 3165 on 8158  Progress: 3166 on 8158  Progress: 3167 on 8158  Progress: 3168 on 8158  Progress: 3169 on 8158  Progress: 3170 on 8158  Progress: 3171 on 8158  Progress: 3172 on 8158  Progress: 3173 on 8158  Progress: 3174 on 8158  Progress: 3175 on 8158  Progress: 3176 on 8158  Progress: 3177 on 8158  Progress: 3178 on 8158  Progress: 3179 on 8158  Progress: 3180 on 8158  Progress: 3181 on 8158  Progress: 3182 on 8158  Progress: 3183 on 8158  Progress: 3184 on 8158  Progress: 3185 on 8158  Progress: 3186 on 8158  Progress: 3187 on 8158  Progress: 3188 on 8158  Progress: 3189 on 8158  Progress: 3190 on 8158  Progress: 3191 on 8158  Progress: 3192 on 8158  Progress: 3193 on 8158  Progress: 3194 on 8158  Progress: 3195 on 8158  Progress: 3196 on 8158  Progress: 3197 on 8158  Progress: 3198 on 8158  Progress: 3199 on 8158  Progress: 3200 on 8158  Progress: 3201 on 8158  Progress: 3202 on 8158  Progress: 3203 on 8158  Progress: 3204 on 8158  Progress: 3205 on 8158  Progress: 3206 on 8158  Progress: 3207 on 8158  Progress: 3208 on 8158  Progress: 3209 on 8158  Progress: 3210 on 8158  Progress: 3211 on 8158  Progress: 3212 on 8158  Progress: 3213 on 8158  Progress: 3214 on 8158  Progress: 3215 on 8158  Progress: 3216 on 8158  Progress: 3217 on 8158  Progress: 3218 on 8158  Progress: 3219 on 8158  Progress: 3220 on 8158  Progress: 3221 on 8158  Progress: 3222 on 8158  Progress: 3223 on 8158  Progress: 3224 on 8158  Progress: 3225 on 8158  Progress: 3226 on 8158  Progress: 3227 on 8158  Progress: 3228 on 8158  Progress: 3229 on 8158  Progress: 3230 on 8158  Progress: 3231 on 8158  Progress: 3232 on 8158  Progress: 3233 on 8158  Progress: 3234 on 8158  Progress: 3235 on 8158  Progress: 3236 on 8158  Progress: 3237 on 8158  Progress: 3238 on 8158  Progress: 3239 on 8158  Progress: 3240 on 8158  Progress: 3241 on 8158  Progress: 3242 on 8158  Progress: 3243 on 8158  Progress: 3244 on 8158  Progress: 3245 on 8158  Progress: 3246 on 8158  Progress: 3247 on 8158  Progress: 3248 on 8158  Progress: 3249 on 8158  Progress: 3250 on 8158  Progress: 3251 on 8158  Progress: 3252 on 8158  Progress: 3253 on 8158  Progress: 3254 on 8158  Progress: 3255 on 8158  Progress: 3256 on 8158  Progress: 3257 on 8158  Progress: 3258 on 8158  Progress: 3259 on 8158  Progress: 3260 on 8158  Progress: 3261 on 8158  Progress: 3262 on 8158  Progress: 3263 on 8158  Progress: 3264 on 8158  Progress: 3265 on 8158  Progress: 3266 on 8158  Progress: 3267 on 8158  Progress: 3268 on 8158  Progress: 3269 on 8158  Progress: 3270 on 8158  Progress: 3271 on 8158  Progress: 3272 on 8158  Progress: 3273 on 8158  Progress: 3274 on 8158  Progress: 3275 on 8158  Progress: 3276 on 8158  Progress: 3277 on 8158  Progress: 3278 on 8158  Progress: 3279 on 8158  Progress: 3280 on 8158  Progress: 3281 on 8158  Progress: 3282 on 8158  Progress: 3283 on 8158  Progress: 3284 on 8158  Progress: 3285 on 8158  Progress: 3286 on 8158  Progress: 3287 on 8158  Progress: 3288 on 8158  Progress: 3289 on 8158  Progress: 3290 on 8158  Progress: 3291 on 8158  Progress: 3292 on 8158  Progress: 3293 on 8158  Progress: 3294 on 8158  Progress: 3295 on 8158  Progress: 3296 on 8158  Progress: 3297 on 8158  Progress: 3298 on 8158  Progress: 3299 on 8158  Progress: 3300 on 8158  Progress: 3301 on 8158  Progress: 3302 on 8158  Progress: 3303 on 8158  Progress: 3304 on 8158  Progress: 3305 on 8158  Progress: 3306 on 8158  Progress: 3307 on 8158  Progress: 3308 on 8158  Progress: 3309 on 8158  Progress: 3310 on 8158  Progress: 3311 on 8158  Progress: 3312 on 8158  Progress: 3313 on 8158  Progress: 3314 on 8158  Progress: 3315 on 8158  Progress: 3316 on 8158  Progress: 3317 on 8158  Progress: 3318 on 8158  Progress: 3319 on 8158  Progress: 3320 on 8158  Progress: 3321 on 8158  Progress: 3322 on 8158  Progress: 3323 on 8158  Progress: 3324 on 8158  Progress: 3325 on 8158  Progress: 3326 on 8158  Progress: 3327 on 8158  Progress: 3328 on 8158  Progress: 3329 on 8158  Progress: 3330 on 8158  Progress: 3331 on 8158  Progress: 3332 on 8158  Progress: 3333 on 8158  Progress: 3334 on 8158  Progress: 3335 on 8158  Progress: 3336 on 8158  Progress: 3337 on 8158  Progress: 3338 on 8158  Progress: 3339 on 8158  Progress: 3340 on 8158  Progress: 3341 on 8158  Progress: 3342 on 8158  Progress: 3343 on 8158  Progress: 3344 on 8158  Progress: 3345 on 8158  Progress: 3346 on 8158  Progress: 3347 on 8158  Progress: 3348 on 8158  Progress: 3349 on 8158  Progress: 3350 on 8158  Progress: 3351 on 8158  Progress: 3352 on 8158  Progress: 3353 on 8158  Progress: 3354 on 8158  Progress: 3355 on 8158  Progress: 3356 on 8158  Progress: 3357 on 8158  Progress: 3358 on 8158  Progress: 3359 on 8158  Progress: 3360 on 8158  Progress: 3361 on 8158  Progress: 3362 on 8158  Progress: 3363 on 8158  Progress: 3364 on 8158  Progress: 3365 on 8158  Progress: 3366 on 8158  Progress: 3367 on 8158  Progress: 3368 on 8158  Progress: 3369 on 8158  Progress: 3370 on 8158  Progress: 3371 on 8158  Progress: 3372 on 8158  Progress: 3373 on 8158  Progress: 3374 on 8158  Progress: 3375 on 8158  Progress: 3376 on 8158  Progress: 3377 on 8158  Progress: 3378 on 8158  Progress: 3379 on 8158  Progress: 3380 on 8158  Progress: 3381 on 8158  Progress: 3382 on 8158  Progress: 3383 on 8158  Progress: 3384 on 8158  Progress: 3385 on 8158  Progress: 3386 on 8158  Progress: 3387 on 8158  Progress: 3388 on 8158  Progress: 3389 on 8158  Progress: 3390 on 8158  Progress: 3391 on 8158  Progress: 3392 on 8158  Progress: 3393 on 8158  Progress: 3394 on 8158  Progress: 3395 on 8158  Progress: 3396 on 8158  Progress: 3397 on 8158  Progress: 3398 on 8158  Progress: 3399 on 8158  Progress: 3400 on 8158  Progress: 3401 on 8158  Progress: 3402 on 8158  Progress: 3403 on 8158  Progress: 3404 on 8158  Progress: 3405 on 8158  Progress: 3406 on 8158  Progress: 3407 on 8158  Progress: 3408 on 8158  Progress: 3409 on 8158  Progress: 3410 on 8158  Progress: 3411 on 8158  Progress: 3412 on 8158  Progress: 3413 on 8158  Progress: 3414 on 8158  Progress: 3415 on 8158  Progress: 3416 on 8158  Progress: 3417 on 8158  Progress: 3418 on 8158  Progress: 3419 on 8158  Progress: 3420 on 8158  Progress: 3421 on 8158  Progress: 3422 on 8158  Progress: 3423 on 8158  Progress: 3424 on 8158  Progress: 3425 on 8158  Progress: 3426 on 8158  Progress: 3427 on 8158  Progress: 3428 on 8158  Progress: 3429 on 8158  Progress: 3430 on 8158  Progress: 3431 on 8158  Progress: 3432 on 8158  Progress: 3433 on 8158  Progress: 3434 on 8158  Progress: 3435 on 8158  Progress: 3436 on 8158  Progress: 3437 on 8158  Progress: 3438 on 8158  Progress: 3439 on 8158  Progress: 3440 on 8158  Progress: 3441 on 8158  Progress: 3442 on 8158  Progress: 3443 on 8158  Progress: 3444 on 8158  Progress: 3445 on 8158  Progress: 3446 on 8158  Progress: 3447 on 8158  Progress: 3448 on 8158  Progress: 3449 on 8158  Progress: 3450 on 8158  Progress: 3451 on 8158  Progress: 3452 on 8158  Progress: 3453 on 8158  Progress: 3454 on 8158  Progress: 3455 on 8158  Progress: 3456 on 8158  Progress: 3457 on 8158  Progress: 3458 on 8158  Progress: 3459 on 8158  Progress: 3460 on 8158  Progress: 3461 on 8158  Progress: 3462 on 8158  Progress: 3463 on 8158  Progress: 3464 on 8158  Progress: 3465 on 8158  Progress: 3466 on 8158  Progress: 3467 on 8158  Progress: 3468 on 8158  Progress: 3469 on 8158  Progress: 3470 on 8158  Progress: 3471 on 8158  Progress: 3472 on 8158  Progress: 3473 on 8158  Progress: 3474 on 8158  Progress: 3475 on 8158  Progress: 3476 on 8158  Progress: 3477 on 8158  Progress: 3478 on 8158  Progress: 3479 on 8158  Progress: 3480 on 8158  Progress: 3481 on 8158  Progress: 3482 on 8158  Progress: 3483 on 8158  Progress: 3484 on 8158  Progress: 3485 on 8158  Progress: 3486 on 8158  Progress: 3487 on 8158  Progress: 3488 on 8158  Progress: 3489 on 8158  Progress: 3490 on 8158  Progress: 3491 on 8158  Progress: 3492 on 8158  Progress: 3493 on 8158  Progress: 3494 on 8158  Progress: 3495 on 8158  Progress: 3496 on 8158  Progress: 3497 on 8158  Progress: 3498 on 8158  Progress: 3499 on 8158  Progress: 3500 on 8158  Progress: 3501 on 8158  Progress: 3502 on 8158  Progress: 3503 on 8158  Progress: 3504 on 8158  Progress: 3505 on 8158  Progress: 3506 on 8158  Progress: 3507 on 8158  Progress: 3508 on 8158  Progress: 3509 on 8158  Progress: 3510 on 8158  Progress: 3511 on 8158  Progress: 3512 on 8158  Progress: 3513 on 8158  Progress: 3514 on 8158  Progress: 3515 on 8158  Progress: 3516 on 8158  Progress: 3517 on 8158  Progress: 3518 on 8158  Progress: 3519 on 8158  Progress: 3520 on 8158  Progress: 3521 on 8158  Progress: 3522 on 8158  Progress: 3523 on 8158  Progress: 3524 on 8158  Progress: 3525 on 8158  Progress: 3526 on 8158  Progress: 3527 on 8158  Progress: 3528 on 8158  Progress: 3529 on 8158  Progress: 3530 on 8158  Progress: 3531 on 8158  Progress: 3532 on 8158  Progress: 3533 on 8158  Progress: 3534 on 8158  Progress: 3535 on 8158  Progress: 3536 on 8158  Progress: 3537 on 8158  Progress: 3538 on 8158  Progress: 3539 on 8158  Progress: 3540 on 8158  Progress: 3541 on 8158  Progress: 3542 on 8158  Progress: 3543 on 8158  Progress: 3544 on 8158  Progress: 3545 on 8158  Progress: 3546 on 8158  Progress: 3547 on 8158  Progress: 3548 on 8158  Progress: 3549 on 8158  Progress: 3550 on 8158  Progress: 3551 on 8158  Progress: 3552 on 8158  Progress: 3553 on 8158  Progress: 3554 on 8158  Progress: 3555 on 8158  Progress: 3556 on 8158  Progress: 3557 on 8158  Progress: 3558 on 8158  Progress: 3559 on 8158  Progress: 3560 on 8158  Progress: 3561 on 8158  Progress: 3562 on 8158  Progress: 3563 on 8158  Progress: 3564 on 8158  Progress: 3565 on 8158  Progress: 3566 on 8158  Progress: 3567 on 8158  Progress: 3568 on 8158  Progress: 3569 on 8158  Progress: 3570 on 8158  Progress: 3571 on 8158  Progress: 3572 on 8158  Progress: 3573 on 8158  Progress: 3574 on 8158  Progress: 3575 on 8158  Progress: 3576 on 8158  Progress: 3577 on 8158  Progress: 3578 on 8158  Progress: 3579 on 8158  Progress: 3580 on 8158  Progress: 3581 on 8158  Progress: 3582 on 8158  Progress: 3583 on 8158  Progress: 3584 on 8158  Progress: 3585 on 8158  Progress: 3586 on 8158  Progress: 3587 on 8158  Progress: 3588 on 8158  Progress: 3589 on 8158  Progress: 3590 on 8158  Progress: 3591 on 8158  Progress: 3592 on 8158  Progress: 3593 on 8158  Progress: 3594 on 8158  Progress: 3595 on 8158  Progress: 3596 on 8158  Progress: 3597 on 8158  Progress: 3598 on 8158  Progress: 3599 on 8158  Progress: 3600 on 8158  Progress: 3601 on 8158  Progress: 3602 on 8158  Progress: 3603 on 8158  Progress: 3604 on 8158  Progress: 3605 on 8158  Progress: 3606 on 8158  Progress: 3607 on 8158  Progress: 3608 on 8158  Progress: 3609 on 8158  Progress: 3610 on 8158  Progress: 3611 on 8158  Progress: 3612 on 8158  Progress: 3613 on 8158  Progress: 3614 on 8158  Progress: 3615 on 8158  Progress: 3616 on 8158  Progress: 3617 on 8158  Progress: 3618 on 8158  Progress: 3619 on 8158  Progress: 3620 on 8158  Progress: 3621 on 8158  Progress: 3622 on 8158  Progress: 3623 on 8158  Progress: 3624 on 8158  Progress: 3625 on 8158  Progress: 3626 on 8158  Progress: 3627 on 8158  Progress: 3628 on 8158  Progress: 3629 on 8158  Progress: 3630 on 8158  Progress: 3631 on 8158  Progress: 3632 on 8158  Progress: 3633 on 8158  Progress: 3634 on 8158  Progress: 3635 on 8158  Progress: 3636 on 8158  Progress: 3637 on 8158  Progress: 3638 on 8158  Progress: 3639 on 8158  Progress: 3640 on 8158  Progress: 3641 on 8158  Progress: 3642 on 8158  Progress: 3643 on 8158  Progress: 3644 on 8158  Progress: 3645 on 8158  Progress: 3646 on 8158  Progress: 3647 on 8158  Progress: 3648 on 8158  Progress: 3649 on 8158  Progress: 3650 on 8158  Progress: 3651 on 8158  Progress: 3652 on 8158  Progress: 3653 on 8158  Progress: 3654 on 8158  Progress: 3655 on 8158  Progress: 3656 on 8158  Progress: 3657 on 8158  Progress: 3658 on 8158  Progress: 3659 on 8158  Progress: 3660 on 8158  Progress: 3661 on 8158  Progress: 3662 on 8158  Progress: 3663 on 8158  Progress: 3664 on 8158  Progress: 3665 on 8158  Progress: 3666 on 8158  Progress: 3667 on 8158  Progress: 3668 on 8158  Progress: 3669 on 8158  Progress: 3670 on 8158  Progress: 3671 on 8158  Progress: 3672 on 8158  Progress: 3673 on 8158  Progress: 3674 on 8158  Progress: 3675 on 8158  Progress: 3676 on 8158  Progress: 3677 on 8158  Progress: 3678 on 8158  Progress: 3679 on 8158  Progress: 3680 on 8158  Progress: 3681 on 8158  Progress: 3682 on 8158  Progress: 3683 on 8158  Progress: 3684 on 8158  Progress: 3685 on 8158  Progress: 3686 on 8158  Progress: 3687 on 8158  Progress: 3688 on 8158  Progress: 3689 on 8158  Progress: 3690 on 8158  Progress: 3691 on 8158  Progress: 3692 on 8158  Progress: 3693 on 8158  Progress: 3694 on 8158  Progress: 3695 on 8158  Progress: 3696 on 8158  Progress: 3697 on 8158  Progress: 3698 on 8158  Progress: 3699 on 8158  Progress: 3700 on 8158  Progress: 3701 on 8158  Progress: 3702 on 8158  Progress: 3703 on 8158  Progress: 3704 on 8158  Progress: 3705 on 8158  Progress: 3706 on 8158  Progress: 3707 on 8158  Progress: 3708 on 8158  Progress: 3709 on 8158  Progress: 3710 on 8158  Progress: 3711 on 8158  Progress: 3712 on 8158  Progress: 3713 on 8158  Progress: 3714 on 8158  Progress: 3715 on 8158  Progress: 3716 on 8158  Progress: 3717 on 8158  Progress: 3718 on 8158  Progress: 3719 on 8158  Progress: 3720 on 8158  Progress: 3721 on 8158  Progress: 3722 on 8158  Progress: 3723 on 8158  Progress: 3724 on 8158  Progress: 3725 on 8158  Progress: 3726 on 8158  Progress: 3727 on 8158  Progress: 3728 on 8158  Progress: 3729 on 8158  Progress: 3730 on 8158  Progress: 3731 on 8158  Progress: 3732 on 8158  Progress: 3733 on 8158  Progress: 3734 on 8158  Progress: 3735 on 8158  Progress: 3736 on 8158  Progress: 3737 on 8158  Progress: 3738 on 8158  Progress: 3739 on 8158  Progress: 3740 on 8158  Progress: 3741 on 8158  Progress: 3742 on 8158  Progress: 3743 on 8158  Progress: 3744 on 8158  Progress: 3745 on 8158  Progress: 3746 on 8158  Progress: 3747 on 8158  Progress: 3748 on 8158  Progress: 3749 on 8158  Progress: 3750 on 8158  Progress: 3751 on 8158  Progress: 3752 on 8158  Progress: 3753 on 8158  Progress: 3754 on 8158  Progress: 3755 on 8158  Progress: 3756 on 8158  Progress: 3757 on 8158  Progress: 3758 on 8158  Progress: 3759 on 8158  Progress: 3760 on 8158  Progress: 3761 on 8158  Progress: 3762 on 8158  Progress: 3763 on 8158  Progress: 3764 on 8158  Progress: 3765 on 8158  Progress: 3766 on 8158  Progress: 3767 on 8158  Progress: 3768 on 8158  Progress: 3769 on 8158  Progress: 3770 on 8158  Progress: 3771 on 8158  Progress: 3772 on 8158  Progress: 3773 on 8158  Progress: 3774 on 8158  Progress: 3775 on 8158  Progress: 3776 on 8158  Progress: 3777 on 8158  Progress: 3778 on 8158  Progress: 3779 on 8158  Progress: 3780 on 8158  Progress: 3781 on 8158  Progress: 3782 on 8158  Progress: 3783 on 8158  Progress: 3784 on 8158  Progress: 3785 on 8158  Progress: 3786 on 8158  Progress: 3787 on 8158  Progress: 3788 on 8158  Progress: 3789 on 8158  Progress: 3790 on 8158  Progress: 3791 on 8158  Progress: 3792 on 8158  Progress: 3793 on 8158  Progress: 3794 on 8158  Progress: 3795 on 8158  Progress: 3796 on 8158  Progress: 3797 on 8158  Progress: 3798 on 8158  Progress: 3799 on 8158  Progress: 3800 on 8158  Progress: 3801 on 8158  Progress: 3802 on 8158  Progress: 3803 on 8158  Progress: 3804 on 8158  Progress: 3805 on 8158  Progress: 3806 on 8158  Progress: 3807 on 8158  Progress: 3808 on 8158  Progress: 3809 on 8158  Progress: 3810 on 8158  Progress: 3811 on 8158  Progress: 3812 on 8158  Progress: 3813 on 8158  Progress: 3814 on 8158  Progress: 3815 on 8158  Progress: 3816 on 8158  Progress: 3817 on 8158  Progress: 3818 on 8158  Progress: 3819 on 8158  Progress: 3820 on 8158  Progress: 3821 on 8158  Progress: 3822 on 8158  Progress: 3823 on 8158  Progress: 3824 on 8158  Progress: 3825 on 8158  Progress: 3826 on 8158  Progress: 3827 on 8158  Progress: 3828 on 8158  Progress: 3829 on 8158  Progress: 3830 on 8158  Progress: 3831 on 8158  Progress: 3832 on 8158  Progress: 3833 on 8158  Progress: 3834 on 8158  Progress: 3835 on 8158  Progress: 3836 on 8158  Progress: 3837 on 8158  Progress: 3838 on 8158  Progress: 3839 on 8158  Progress: 3840 on 8158  Progress: 3841 on 8158  Progress: 3842 on 8158  Progress: 3843 on 8158  Progress: 3844 on 8158  Progress: 3845 on 8158  Progress: 3846 on 8158  Progress: 3847 on 8158  Progress: 3848 on 8158  Progress: 3849 on 8158  Progress: 3850 on 8158  Progress: 3851 on 8158  Progress: 3852 on 8158  Progress: 3853 on 8158  Progress: 3854 on 8158  Progress: 3855 on 8158  Progress: 3856 on 8158  Progress: 3857 on 8158  Progress: 3858 on 8158  Progress: 3859 on 8158  Progress: 3860 on 8158  Progress: 3861 on 8158  Progress: 3862 on 8158  Progress: 3863 on 8158  Progress: 3864 on 8158  Progress: 3865 on 8158  Progress: 3866 on 8158  Progress: 3867 on 8158  Progress: 3868 on 8158  Progress: 3869 on 8158  Progress: 3870 on 8158  Progress: 3871 on 8158  Progress: 3872 on 8158  Progress: 3873 on 8158  Progress: 3874 on 8158  Progress: 3875 on 8158  Progress: 3876 on 8158  Progress: 3877 on 8158  Progress: 3878 on 8158  Progress: 3879 on 8158  Progress: 3880 on 8158  Progress: 3881 on 8158  Progress: 3882 on 8158  Progress: 3883 on 8158  Progress: 3884 on 8158  Progress: 3885 on 8158  Progress: 3886 on 8158  Progress: 3887 on 8158  Progress: 3888 on 8158  Progress: 3889 on 8158  Progress: 3890 on 8158  Progress: 3891 on 8158  Progress: 3892 on 8158  Progress: 3893 on 8158  Progress: 3894 on 8158  Progress: 3895 on 8158  Progress: 3896 on 8158  Progress: 3897 on 8158  Progress: 3898 on 8158  Progress: 3899 on 8158  Progress: 3900 on 8158  Progress: 3901 on 8158  Progress: 3902 on 8158  Progress: 3903 on 8158  Progress: 3904 on 8158  Progress: 3905 on 8158  Progress: 3906 on 8158  Progress: 3907 on 8158  Progress: 3908 on 8158  Progress: 3909 on 8158  Progress: 3910 on 8158  Progress: 3911 on 8158  Progress: 3912 on 8158  Progress: 3913 on 8158  Progress: 3914 on 8158  Progress: 3915 on 8158  Progress: 3916 on 8158  Progress: 3917 on 8158  Progress: 3918 on 8158  Progress: 3919 on 8158  Progress: 3920 on 8158  Progress: 3921 on 8158  Progress: 3922 on 8158  Progress: 3923 on 8158  Progress: 3924 on 8158  Progress: 3925 on 8158  Progress: 3926 on 8158  Progress: 3927 on 8158  Progress: 3928 on 8158  Progress: 3929 on 8158  Progress: 3930 on 8158  Progress: 3931 on 8158  Progress: 3932 on 8158  Progress: 3933 on 8158  Progress: 3934 on 8158  Progress: 3935 on 8158  Progress: 3936 on 8158  Progress: 3937 on 8158  Progress: 3938 on 8158  Progress: 3939 on 8158  Progress: 3940 on 8158  Progress: 3941 on 8158  Progress: 3942 on 8158  Progress: 3943 on 8158  Progress: 3944 on 8158  Progress: 3945 on 8158  Progress: 3946 on 8158  Progress: 3947 on 8158  Progress: 3948 on 8158  Progress: 3949 on 8158  Progress: 3950 on 8158  Progress: 3951 on 8158  Progress: 3952 on 8158  Progress: 3953 on 8158  Progress: 3954 on 8158  Progress: 3955 on 8158  Progress: 3956 on 8158  Progress: 3957 on 8158  Progress: 3958 on 8158  Progress: 3959 on 8158  Progress: 3960 on 8158  Progress: 3961 on 8158  Progress: 3962 on 8158  Progress: 3963 on 8158  Progress: 3964 on 8158  Progress: 3965 on 8158  Progress: 3966 on 8158  Progress: 3967 on 8158  Progress: 3968 on 8158  Progress: 3969 on 8158  Progress: 3970 on 8158  Progress: 3971 on 8158  Progress: 3972 on 8158  Progress: 3973 on 8158  Progress: 3974 on 8158  Progress: 3975 on 8158  Progress: 3976 on 8158  Progress: 3977 on 8158  Progress: 3978 on 8158  Progress: 3979 on 8158  Progress: 3980 on 8158  Progress: 3981 on 8158  Progress: 3982 on 8158  Progress: 3983 on 8158  Progress: 3984 on 8158  Progress: 3985 on 8158  Progress: 3986 on 8158  Progress: 3987 on 8158  Progress: 3988 on 8158  Progress: 3989 on 8158  Progress: 3990 on 8158  Progress: 3991 on 8158  Progress: 3992 on 8158  Progress: 3993 on 8158  Progress: 3994 on 8158  Progress: 3995 on 8158  Progress: 3996 on 8158  Progress: 3997 on 8158  Progress: 3998 on 8158  Progress: 3999 on 8158  Progress: 4000 on 8158  Progress: 4001 on 8158  Progress: 4002 on 8158  Progress: 4003 on 8158  Progress: 4004 on 8158  Progress: 4005 on 8158  Progress: 4006 on 8158  Progress: 4007 on 8158  Progress: 4008 on 8158  Progress: 4009 on 8158  Progress: 4010 on 8158  Progress: 4011 on 8158  Progress: 4012 on 8158  Progress: 4013 on 8158  Progress: 4014 on 8158  Progress: 4015 on 8158  Progress: 4016 on 8158  Progress: 4017 on 8158  Progress: 4018 on 8158  Progress: 4019 on 8158  Progress: 4020 on 8158  Progress: 4021 on 8158  Progress: 4022 on 8158  Progress: 4023 on 8158  Progress: 4024 on 8158  Progress: 4025 on 8158  Progress: 4026 on 8158  Progress: 4027 on 8158  Progress: 4028 on 8158  Progress: 4029 on 8158  Progress: 4030 on 8158  Progress: 4031 on 8158  Progress: 4032 on 8158  Progress: 4033 on 8158  Progress: 4034 on 8158  Progress: 4035 on 8158  Progress: 4036 on 8158  Progress: 4037 on 8158  Progress: 4038 on 8158  Progress: 4039 on 8158  Progress: 4040 on 8158  Progress: 4041 on 8158  Progress: 4042 on 8158  Progress: 4043 on 8158  Progress: 4044 on 8158  Progress: 4045 on 8158  Progress: 4046 on 8158  Progress: 4047 on 8158  Progress: 4048 on 8158  Progress: 4049 on 8158  Progress: 4050 on 8158  Progress: 4051 on 8158  Progress: 4052 on 8158  Progress: 4053 on 8158  Progress: 4054 on 8158  Progress: 4055 on 8158  Progress: 4056 on 8158  Progress: 4057 on 8158  Progress: 4058 on 8158  Progress: 4059 on 8158  Progress: 4060 on 8158  Progress: 4061 on 8158  Progress: 4062 on 8158  Progress: 4063 on 8158  Progress: 4064 on 8158  Progress: 4065 on 8158  Progress: 4066 on 8158  Progress: 4067 on 8158  Progress: 4068 on 8158  Progress: 4069 on 8158  Progress: 4070 on 8158  Progress: 4071 on 8158  Progress: 4072 on 8158  Progress: 4073 on 8158  Progress: 4074 on 8158  Progress: 4075 on 8158  Progress: 4076 on 8158  Progress: 4077 on 8158  Progress: 4078 on 8158  Progress: 4079 on 8158  Progress: 4080 on 8158  Progress: 4081 on 8158  Progress: 4082 on 8158  Progress: 4083 on 8158  Progress: 4084 on 8158  Progress: 4085 on 8158  Progress: 4086 on 8158  Progress: 4087 on 8158  Progress: 4088 on 8158  Progress: 4089 on 8158  Progress: 4090 on 8158  Progress: 4091 on 8158  Progress: 4092 on 8158  Progress: 4093 on 8158  Progress: 4094 on 8158  Progress: 4095 on 8158  Progress: 4096 on 8158  Progress: 4097 on 8158  Progress: 4098 on 8158  Progress: 4099 on 8158  Progress: 4100 on 8158  Progress: 4101 on 8158  Progress: 4102 on 8158  Progress: 4103 on 8158  Progress: 4104 on 8158  Progress: 4105 on 8158  Progress: 4106 on 8158  Progress: 4107 on 8158  Progress: 4108 on 8158  Progress: 4109 on 8158  Progress: 4110 on 8158  Progress: 4111 on 8158  Progress: 4112 on 8158  Progress: 4113 on 8158  Progress: 4114 on 8158  Progress: 4115 on 8158  Progress: 4116 on 8158  Progress: 4117 on 8158  Progress: 4118 on 8158  Progress: 4119 on 8158  Progress: 4120 on 8158  Progress: 4121 on 8158  Progress: 4122 on 8158  Progress: 4123 on 8158  Progress: 4124 on 8158  Progress: 4125 on 8158  Progress: 4126 on 8158  Progress: 4127 on 8158  Progress: 4128 on 8158  Progress: 4129 on 8158  Progress: 4130 on 8158  Progress: 4131 on 8158  Progress: 4132 on 8158  Progress: 4133 on 8158  Progress: 4134 on 8158  Progress: 4135 on 8158  Progress: 4136 on 8158  Progress: 4137 on 8158  Progress: 4138 on 8158  Progress: 4139 on 8158  Progress: 4140 on 8158  Progress: 4141 on 8158  Progress: 4142 on 8158  Progress: 4143 on 8158  Progress: 4144 on 8158  Progress: 4145 on 8158  Progress: 4146 on 8158  Progress: 4147 on 8158  Progress: 4148 on 8158  Progress: 4149 on 8158  Progress: 4150 on 8158  Progress: 4151 on 8158  Progress: 4152 on 8158  Progress: 4153 on 8158  Progress: 4154 on 8158  Progress: 4155 on 8158  Progress: 4156 on 8158  Progress: 4157 on 8158  Progress: 4158 on 8158  Progress: 4159 on 8158  Progress: 4160 on 8158  Progress: 4161 on 8158  Progress: 4162 on 8158  Progress: 4163 on 8158  Progress: 4164 on 8158  Progress: 4165 on 8158  Progress: 4166 on 8158  Progress: 4167 on 8158  Progress: 4168 on 8158  Progress: 4169 on 8158  Progress: 4170 on 8158  Progress: 4171 on 8158  Progress: 4172 on 8158  Progress: 4173 on 8158  Progress: 4174 on 8158  Progress: 4175 on 8158  Progress: 4176 on 8158  Progress: 4177 on 8158  Progress: 4178 on 8158  Progress: 4179 on 8158  Progress: 4180 on 8158  Progress: 4181 on 8158  Progress: 4182 on 8158  Progress: 4183 on 8158  Progress: 4184 on 8158  Progress: 4185 on 8158  Progress: 4186 on 8158  Progress: 4187 on 8158  Progress: 4188 on 8158  Progress: 4189 on 8158  Progress: 4190 on 8158  Progress: 4191 on 8158  Progress: 4192 on 8158  Progress: 4193 on 8158  Progress: 4194 on 8158  Progress: 4195 on 8158  Progress: 4196 on 8158  Progress: 4197 on 8158  Progress: 4198 on 8158  Progress: 4199 on 8158  Progress: 4200 on 8158  Progress: 4201 on 8158  Progress: 4202 on 8158  Progress: 4203 on 8158  Progress: 4204 on 8158  Progress: 4205 on 8158  Progress: 4206 on 8158  Progress: 4207 on 8158  Progress: 4208 on 8158  Progress: 4209 on 8158  Progress: 4210 on 8158  Progress: 4211 on 8158  Progress: 4212 on 8158  Progress: 4213 on 8158  Progress: 4214 on 8158  Progress: 4215 on 8158  Progress: 4216 on 8158  Progress: 4217 on 8158  Progress: 4218 on 8158  Progress: 4219 on 8158  Progress: 4220 on 8158  Progress: 4221 on 8158  Progress: 4222 on 8158  Progress: 4223 on 8158  Progress: 4224 on 8158  Progress: 4225 on 8158  Progress: 4226 on 8158  Progress: 4227 on 8158  Progress: 4228 on 8158  Progress: 4229 on 8158  Progress: 4230 on 8158  Progress: 4231 on 8158  Progress: 4232 on 8158  Progress: 4233 on 8158  Progress: 4234 on 8158  Progress: 4235 on 8158  Progress: 4236 on 8158  Progress: 4237 on 8158  Progress: 4238 on 8158  Progress: 4239 on 8158  Progress: 4240 on 8158  Progress: 4241 on 8158  Progress: 4242 on 8158  Progress: 4243 on 8158  Progress: 4244 on 8158  Progress: 4245 on 8158  Progress: 4246 on 8158  Progress: 4247 on 8158  Progress: 4248 on 8158  Progress: 4249 on 8158  Progress: 4250 on 8158  Progress: 4251 on 8158  Progress: 4252 on 8158  Progress: 4253 on 8158  Progress: 4254 on 8158  Progress: 4255 on 8158  Progress: 4256 on 8158  Progress: 4257 on 8158  Progress: 4258 on 8158  Progress: 4259 on 8158  Progress: 4260 on 8158  Progress: 4261 on 8158  Progress: 4262 on 8158  Progress: 4263 on 8158  Progress: 4264 on 8158  Progress: 4265 on 8158  Progress: 4266 on 8158  Progress: 4267 on 8158  Progress: 4268 on 8158  Progress: 4269 on 8158  Progress: 4270 on 8158  Progress: 4271 on 8158  Progress: 4272 on 8158  Progress: 4273 on 8158  Progress: 4274 on 8158  Progress: 4275 on 8158  Progress: 4276 on 8158  Progress: 4277 on 8158  Progress: 4278 on 8158  Progress: 4279 on 8158  Progress: 4280 on 8158  Progress: 4281 on 8158  Progress: 4282 on 8158  Progress: 4283 on 8158  Progress: 4284 on 8158  Progress: 4285 on 8158  Progress: 4286 on 8158  Progress: 4287 on 8158  Progress: 4288 on 8158  Progress: 4289 on 8158  Progress: 4290 on 8158  Progress: 4291 on 8158  Progress: 4292 on 8158  Progress: 4293 on 8158  Progress: 4294 on 8158  Progress: 4295 on 8158  Progress: 4296 on 8158  Progress: 4297 on 8158  Progress: 4298 on 8158  Progress: 4299 on 8158  Progress: 4300 on 8158  Progress: 4301 on 8158  Progress: 4302 on 8158  Progress: 4303 on 8158  Progress: 4304 on 8158  Progress: 4305 on 8158  Progress: 4306 on 8158  Progress: 4307 on 8158  Progress: 4308 on 8158  Progress: 4309 on 8158  Progress: 4310 on 8158  Progress: 4311 on 8158  Progress: 4312 on 8158  Progress: 4313 on 8158  Progress: 4314 on 8158  Progress: 4315 on 8158  Progress: 4316 on 8158  Progress: 4317 on 8158  Progress: 4318 on 8158  Progress: 4319 on 8158  Progress: 4320 on 8158  Progress: 4321 on 8158  Progress: 4322 on 8158  Progress: 4323 on 8158  Progress: 4324 on 8158  Progress: 4325 on 8158  Progress: 4326 on 8158  Progress: 4327 on 8158  Progress: 4328 on 8158  Progress: 4329 on 8158  Progress: 4330 on 8158  Progress: 4331 on 8158  Progress: 4332 on 8158  Progress: 4333 on 8158  Progress: 4334 on 8158  Progress: 4335 on 8158  Progress: 4336 on 8158  Progress: 4337 on 8158  Progress: 4338 on 8158  Progress: 4339 on 8158  Progress: 4340 on 8158  Progress: 4341 on 8158  Progress: 4342 on 8158  Progress: 4343 on 8158  Progress: 4344 on 8158  Progress: 4345 on 8158  Progress: 4346 on 8158  Progress: 4347 on 8158  Progress: 4348 on 8158  Progress: 4349 on 8158  Progress: 4350 on 8158  Progress: 4351 on 8158  Progress: 4352 on 8158  Progress: 4353 on 8158  Progress: 4354 on 8158  Progress: 4355 on 8158  Progress: 4356 on 8158  Progress: 4357 on 8158  Progress: 4358 on 8158  Progress: 4359 on 8158  Progress: 4360 on 8158  Progress: 4361 on 8158  Progress: 4362 on 8158  Progress: 4363 on 8158  Progress: 4364 on 8158  Progress: 4365 on 8158  Progress: 4366 on 8158  Progress: 4367 on 8158  Progress: 4368 on 8158  Progress: 4369 on 8158  Progress: 4370 on 8158  Progress: 4371 on 8158  Progress: 4372 on 8158  Progress: 4373 on 8158  Progress: 4374 on 8158  Progress: 4375 on 8158  Progress: 4376 on 8158  Progress: 4377 on 8158  Progress: 4378 on 8158  Progress: 4379 on 8158  Progress: 4380 on 8158  Progress: 4381 on 8158  Progress: 4382 on 8158  Progress: 4383 on 8158  Progress: 4384 on 8158  Progress: 4385 on 8158  Progress: 4386 on 8158  Progress: 4387 on 8158  Progress: 4388 on 8158  Progress: 4389 on 8158  Progress: 4390 on 8158  Progress: 4391 on 8158  Progress: 4392 on 8158  Progress: 4393 on 8158  Progress: 4394 on 8158  Progress: 4395 on 8158  Progress: 4396 on 8158  Progress: 4397 on 8158  Progress: 4398 on 8158  Progress: 4399 on 8158  Progress: 4400 on 8158  Progress: 4401 on 8158  Progress: 4402 on 8158  Progress: 4403 on 8158  Progress: 4404 on 8158  Progress: 4405 on 8158  Progress: 4406 on 8158  Progress: 4407 on 8158  Progress: 4408 on 8158  Progress: 4409 on 8158  Progress: 4410 on 8158  Progress: 4411 on 8158  Progress: 4412 on 8158  Progress: 4413 on 8158  Progress: 4414 on 8158  Progress: 4415 on 8158  Progress: 4416 on 8158  Progress: 4417 on 8158  Progress: 4418 on 8158  Progress: 4419 on 8158  Progress: 4420 on 8158  Progress: 4421 on 8158  Progress: 4422 on 8158  Progress: 4423 on 8158  Progress: 4424 on 8158  Progress: 4425 on 8158  Progress: 4426 on 8158  Progress: 4427 on 8158  Progress: 4428 on 8158  Progress: 4429 on 8158  Progress: 4430 on 8158  Progress: 4431 on 8158  Progress: 4432 on 8158  Progress: 4433 on 8158  Progress: 4434 on 8158  Progress: 4435 on 8158  Progress: 4436 on 8158  Progress: 4437 on 8158  Progress: 4438 on 8158  Progress: 4439 on 8158  Progress: 4440 on 8158  Progress: 4441 on 8158  Progress: 4442 on 8158  Progress: 4443 on 8158  Progress: 4444 on 8158  Progress: 4445 on 8158  Progress: 4446 on 8158  Progress: 4447 on 8158  Progress: 4448 on 8158  Progress: 4449 on 8158  Progress: 4450 on 8158  Progress: 4451 on 8158  Progress: 4452 on 8158  Progress: 4453 on 8158  Progress: 4454 on 8158  Progress: 4455 on 8158  Progress: 4456 on 8158  Progress: 4457 on 8158  Progress: 4458 on 8158  Progress: 4459 on 8158  Progress: 4460 on 8158  Progress: 4461 on 8158  Progress: 4462 on 8158  Progress: 4463 on 8158  Progress: 4464 on 8158  Progress: 4465 on 8158  Progress: 4466 on 8158  Progress: 4467 on 8158  Progress: 4468 on 8158  Progress: 4469 on 8158  Progress: 4470 on 8158  Progress: 4471 on 8158  Progress: 4472 on 8158  Progress: 4473 on 8158  Progress: 4474 on 8158  Progress: 4475 on 8158  Progress: 4476 on 8158  Progress: 4477 on 8158  Progress: 4478 on 8158  Progress: 4479 on 8158  Progress: 4480 on 8158  Progress: 4481 on 8158  Progress: 4482 on 8158  Progress: 4483 on 8158  Progress: 4484 on 8158  Progress: 4485 on 8158  Progress: 4486 on 8158  Progress: 4487 on 8158  Progress: 4488 on 8158  Progress: 4489 on 8158  Progress: 4490 on 8158  Progress: 4491 on 8158  Progress: 4492 on 8158  Progress: 4493 on 8158  Progress: 4494 on 8158  Progress: 4495 on 8158  Progress: 4496 on 8158  Progress: 4497 on 8158  Progress: 4498 on 8158  Progress: 4499 on 8158  Progress: 4500 on 8158  Progress: 4501 on 8158  Progress: 4502 on 8158  Progress: 4503 on 8158  Progress: 4504 on 8158  Progress: 4505 on 8158  Progress: 4506 on 8158  Progress: 4507 on 8158  Progress: 4508 on 8158  Progress: 4509 on 8158  Progress: 4510 on 8158  Progress: 4511 on 8158  Progress: 4512 on 8158  Progress: 4513 on 8158  Progress: 4514 on 8158  Progress: 4515 on 8158  Progress: 4516 on 8158  Progress: 4517 on 8158  Progress: 4518 on 8158  Progress: 4519 on 8158  Progress: 4520 on 8158  Progress: 4521 on 8158  Progress: 4522 on 8158  Progress: 4523 on 8158  Progress: 4524 on 8158  Progress: 4525 on 8158  Progress: 4526 on 8158  Progress: 4527 on 8158  Progress: 4528 on 8158  Progress: 4529 on 8158  Progress: 4530 on 8158  Progress: 4531 on 8158  Progress: 4532 on 8158  Progress: 4533 on 8158  Progress: 4534 on 8158  Progress: 4535 on 8158  Progress: 4536 on 8158  Progress: 4537 on 8158  Progress: 4538 on 8158  Progress: 4539 on 8158  Progress: 4540 on 8158  Progress: 4541 on 8158  Progress: 4542 on 8158  Progress: 4543 on 8158  Progress: 4544 on 8158  Progress: 4545 on 8158  Progress: 4546 on 8158  Progress: 4547 on 8158  Progress: 4548 on 8158  Progress: 4549 on 8158  Progress: 4550 on 8158  Progress: 4551 on 8158  Progress: 4552 on 8158  Progress: 4553 on 8158  Progress: 4554 on 8158  Progress: 4555 on 8158  Progress: 4556 on 8158  Progress: 4557 on 8158  Progress: 4558 on 8158  Progress: 4559 on 8158  Progress: 4560 on 8158  Progress: 4561 on 8158  Progress: 4562 on 8158  Progress: 4563 on 8158  Progress: 4564 on 8158  Progress: 4565 on 8158  Progress: 4566 on 8158  Progress: 4567 on 8158  Progress: 4568 on 8158  Progress: 4569 on 8158  Progress: 4570 on 8158  Progress: 4571 on 8158  Progress: 4572 on 8158  Progress: 4573 on 8158  Progress: 4574 on 8158  Progress: 4575 on 8158  Progress: 4576 on 8158  Progress: 4577 on 8158  Progress: 4578 on 8158  Progress: 4579 on 8158  Progress: 4580 on 8158  Progress: 4581 on 8158  Progress: 4582 on 8158  Progress: 4583 on 8158  Progress: 4584 on 8158  Progress: 4585 on 8158  Progress: 4586 on 8158  Progress: 4587 on 8158  Progress: 4588 on 8158  Progress: 4589 on 8158  Progress: 4590 on 8158  Progress: 4591 on 8158  Progress: 4592 on 8158  Progress: 4593 on 8158  Progress: 4594 on 8158  Progress: 4595 on 8158  Progress: 4596 on 8158  Progress: 4597 on 8158  Progress: 4598 on 8158  Progress: 4599 on 8158  Progress: 4600 on 8158  Progress: 4601 on 8158  Progress: 4602 on 8158  Progress: 4603 on 8158  Progress: 4604 on 8158  Progress: 4605 on 8158  Progress: 4606 on 8158  Progress: 4607 on 8158  Progress: 4608 on 8158  Progress: 4609 on 8158  Progress: 4610 on 8158  Progress: 4611 on 8158  Progress: 4612 on 8158  Progress: 4613 on 8158  Progress: 4614 on 8158  Progress: 4615 on 8158  Progress: 4616 on 8158  Progress: 4617 on 8158  Progress: 4618 on 8158  Progress: 4619 on 8158  Progress: 4620 on 8158  Progress: 4621 on 8158  Progress: 4622 on 8158  Progress: 4623 on 8158  Progress: 4624 on 8158  Progress: 4625 on 8158  Progress: 4626 on 8158  Progress: 4627 on 8158  Progress: 4628 on 8158  Progress: 4629 on 8158  Progress: 4630 on 8158  Progress: 4631 on 8158  Progress: 4632 on 8158  Progress: 4633 on 8158  Progress: 4634 on 8158  Progress: 4635 on 8158  Progress: 4636 on 8158  Progress: 4637 on 8158  Progress: 4638 on 8158  Progress: 4639 on 8158  Progress: 4640 on 8158  Progress: 4641 on 8158  Progress: 4642 on 8158  Progress: 4643 on 8158  Progress: 4644 on 8158  Progress: 4645 on 8158  Progress: 4646 on 8158  Progress: 4647 on 8158  Progress: 4648 on 8158  Progress: 4649 on 8158  Progress: 4650 on 8158  Progress: 4651 on 8158  Progress: 4652 on 8158  Progress: 4653 on 8158  Progress: 4654 on 8158  Progress: 4655 on 8158  Progress: 4656 on 8158  Progress: 4657 on 8158  Progress: 4658 on 8158  Progress: 4659 on 8158  Progress: 4660 on 8158  Progress: 4661 on 8158  Progress: 4662 on 8158  Progress: 4663 on 8158  Progress: 4664 on 8158  Progress: 4665 on 8158  Progress: 4666 on 8158  Progress: 4667 on 8158  Progress: 4668 on 8158  Progress: 4669 on 8158  Progress: 4670 on 8158  Progress: 4671 on 8158  Progress: 4672 on 8158  Progress: 4673 on 8158  Progress: 4674 on 8158  Progress: 4675 on 8158  Progress: 4676 on 8158  Progress: 4677 on 8158  Progress: 4678 on 8158  Progress: 4679 on 8158  Progress: 4680 on 8158  Progress: 4681 on 8158  Progress: 4682 on 8158  Progress: 4683 on 8158  Progress: 4684 on 8158  Progress: 4685 on 8158  Progress: 4686 on 8158  Progress: 4687 on 8158  Progress: 4688 on 8158  Progress: 4689 on 8158  Progress: 4690 on 8158  Progress: 4691 on 8158  Progress: 4692 on 8158  Progress: 4693 on 8158  Progress: 4694 on 8158  Progress: 4695 on 8158  Progress: 4696 on 8158  Progress: 4697 on 8158  Progress: 4698 on 8158  Progress: 4699 on 8158  Progress: 4700 on 8158  Progress: 4701 on 8158  Progress: 4702 on 8158  Progress: 4703 on 8158  Progress: 4704 on 8158  Progress: 4705 on 8158  Progress: 4706 on 8158  Progress: 4707 on 8158  Progress: 4708 on 8158  Progress: 4709 on 8158  Progress: 4710 on 8158  Progress: 4711 on 8158  Progress: 4712 on 8158  Progress: 4713 on 8158  Progress: 4714 on 8158  Progress: 4715 on 8158  Progress: 4716 on 8158  Progress: 4717 on 8158  Progress: 4718 on 8158  Progress: 4719 on 8158  Progress: 4720 on 8158  Progress: 4721 on 8158  Progress: 4722 on 8158  Progress: 4723 on 8158  Progress: 4724 on 8158  Progress: 4725 on 8158  Progress: 4726 on 8158  Progress: 4727 on 8158  Progress: 4728 on 8158  Progress: 4729 on 8158  Progress: 4730 on 8158  Progress: 4731 on 8158  Progress: 4732 on 8158  Progress: 4733 on 8158  Progress: 4734 on 8158  Progress: 4735 on 8158  Progress: 4736 on 8158  Progress: 4737 on 8158  Progress: 4738 on 8158  Progress: 4739 on 8158  Progress: 4740 on 8158  Progress: 4741 on 8158  Progress: 4742 on 8158  Progress: 4743 on 8158  Progress: 4744 on 8158  Progress: 4745 on 8158  Progress: 4746 on 8158  Progress: 4747 on 8158  Progress: 4748 on 8158  Progress: 4749 on 8158  Progress: 4750 on 8158  Progress: 4751 on 8158  Progress: 4752 on 8158  Progress: 4753 on 8158  Progress: 4754 on 8158  Progress: 4755 on 8158  Progress: 4756 on 8158  Progress: 4757 on 8158  Progress: 4758 on 8158  Progress: 4759 on 8158  Progress: 4760 on 8158  Progress: 4761 on 8158  Progress: 4762 on 8158  Progress: 4763 on 8158  Progress: 4764 on 8158  Progress: 4765 on 8158  Progress: 4766 on 8158  Progress: 4767 on 8158  Progress: 4768 on 8158  Progress: 4769 on 8158  Progress: 4770 on 8158  Progress: 4771 on 8158  Progress: 4772 on 8158  Progress: 4773 on 8158  Progress: 4774 on 8158  Progress: 4775 on 8158  Progress: 4776 on 8158  Progress: 4777 on 8158  Progress: 4778 on 8158  Progress: 4779 on 8158  Progress: 4780 on 8158  Progress: 4781 on 8158  Progress: 4782 on 8158  Progress: 4783 on 8158  Progress: 4784 on 8158  Progress: 4785 on 8158  Progress: 4786 on 8158  Progress: 4787 on 8158  Progress: 4788 on 8158  Progress: 4789 on 8158  Progress: 4790 on 8158  Progress: 4791 on 8158  Progress: 4792 on 8158  Progress: 4793 on 8158  Progress: 4794 on 8158  Progress: 4795 on 8158  Progress: 4796 on 8158  Progress: 4797 on 8158  Progress: 4798 on 8158  Progress: 4799 on 8158  Progress: 4800 on 8158  Progress: 4801 on 8158  Progress: 4802 on 8158  Progress: 4803 on 8158  Progress: 4804 on 8158  Progress: 4805 on 8158  Progress: 4806 on 8158  Progress: 4807 on 8158  Progress: 4808 on 8158  Progress: 4809 on 8158  Progress: 4810 on 8158  Progress: 4811 on 8158  Progress: 4812 on 8158  Progress: 4813 on 8158  Progress: 4814 on 8158  Progress: 4815 on 8158  Progress: 4816 on 8158  Progress: 4817 on 8158  Progress: 4818 on 8158  Progress: 4819 on 8158  Progress: 4820 on 8158  Progress: 4821 on 8158  Progress: 4822 on 8158  Progress: 4823 on 8158  Progress: 4824 on 8158  Progress: 4825 on 8158  Progress: 4826 on 8158  Progress: 4827 on 8158  Progress: 4828 on 8158  Progress: 4829 on 8158  Progress: 4830 on 8158  Progress: 4831 on 8158  Progress: 4832 on 8158  Progress: 4833 on 8158  Progress: 4834 on 8158  Progress: 4835 on 8158  Progress: 4836 on 8158  Progress: 4837 on 8158  Progress: 4838 on 8158  Progress: 4839 on 8158  Progress: 4840 on 8158  Progress: 4841 on 8158  Progress: 4842 on 8158  Progress: 4843 on 8158  Progress: 4844 on 8158  Progress: 4845 on 8158  Progress: 4846 on 8158  Progress: 4847 on 8158  Progress: 4848 on 8158  Progress: 4849 on 8158  Progress: 4850 on 8158  Progress: 4851 on 8158  Progress: 4852 on 8158  Progress: 4853 on 8158  Progress: 4854 on 8158  Progress: 4855 on 8158  Progress: 4856 on 8158  Progress: 4857 on 8158  Progress: 4858 on 8158  Progress: 4859 on 8158  Progress: 4860 on 8158  Progress: 4861 on 8158  Progress: 4862 on 8158  Progress: 4863 on 8158  Progress: 4864 on 8158  Progress: 4865 on 8158  Progress: 4866 on 8158  Progress: 4867 on 8158  Progress: 4868 on 8158  Progress: 4869 on 8158  Progress: 4870 on 8158  Progress: 4871 on 8158  Progress: 4872 on 8158  Progress: 4873 on 8158  Progress: 4874 on 8158  Progress: 4875 on 8158  Progress: 4876 on 8158  Progress: 4877 on 8158  Progress: 4878 on 8158  Progress: 4879 on 8158  Progress: 4880 on 8158  Progress: 4881 on 8158  Progress: 4882 on 8158  Progress: 4883 on 8158  Progress: 4884 on 8158  Progress: 4885 on 8158  Progress: 4886 on 8158  Progress: 4887 on 8158  Progress: 4888 on 8158  Progress: 4889 on 8158  Progress: 4890 on 8158  Progress: 4891 on 8158  Progress: 4892 on 8158  Progress: 4893 on 8158  Progress: 4894 on 8158  Progress: 4895 on 8158  Progress: 4896 on 8158  Progress: 4897 on 8158  Progress: 4898 on 8158  Progress: 4899 on 8158  Progress: 4900 on 8158  Progress: 4901 on 8158  Progress: 4902 on 8158  Progress: 4903 on 8158  Progress: 4904 on 8158  Progress: 4905 on 8158  Progress: 4906 on 8158  Progress: 4907 on 8158  Progress: 4908 on 8158  Progress: 4909 on 8158  Progress: 4910 on 8158  Progress: 4911 on 8158  Progress: 4912 on 8158  Progress: 4913 on 8158  Progress: 4914 on 8158  Progress: 4915 on 8158  Progress: 4916 on 8158  Progress: 4917 on 8158  Progress: 4918 on 8158  Progress: 4919 on 8158  Progress: 4920 on 8158  Progress: 4921 on 8158  Progress: 4922 on 8158  Progress: 4923 on 8158  Progress: 4924 on 8158  Progress: 4925 on 8158  Progress: 4926 on 8158  Progress: 4927 on 8158  Progress: 4928 on 8158  Progress: 4929 on 8158  Progress: 4930 on 8158  Progress: 4931 on 8158  Progress: 4932 on 8158  Progress: 4933 on 8158  Progress: 4934 on 8158  Progress: 4935 on 8158  Progress: 4936 on 8158  Progress: 4937 on 8158  Progress: 4938 on 8158  Progress: 4939 on 8158  Progress: 4940 on 8158  Progress: 4941 on 8158  Progress: 4942 on 8158  Progress: 4943 on 8158  Progress: 4944 on 8158  Progress: 4945 on 8158  Progress: 4946 on 8158  Progress: 4947 on 8158  Progress: 4948 on 8158  Progress: 4949 on 8158  Progress: 4950 on 8158  Progress: 4951 on 8158  Progress: 4952 on 8158  Progress: 4953 on 8158  Progress: 4954 on 8158  Progress: 4955 on 8158  Progress: 4956 on 8158  Progress: 4957 on 8158  Progress: 4958 on 8158  Progress: 4959 on 8158  Progress: 4960 on 8158  Progress: 4961 on 8158  Progress: 4962 on 8158  Progress: 4963 on 8158  Progress: 4964 on 8158  Progress: 4965 on 8158  Progress: 4966 on 8158  Progress: 4967 on 8158  Progress: 4968 on 8158  Progress: 4969 on 8158  Progress: 4970 on 8158  Progress: 4971 on 8158  Progress: 4972 on 8158  Progress: 4973 on 8158  Progress: 4974 on 8158  Progress: 4975 on 8158  Progress: 4976 on 8158  Progress: 4977 on 8158  Progress: 4978 on 8158  Progress: 4979 on 8158  Progress: 4980 on 8158  Progress: 4981 on 8158  Progress: 4982 on 8158  Progress: 4983 on 8158  Progress: 4984 on 8158  Progress: 4985 on 8158  Progress: 4986 on 8158  Progress: 4987 on 8158  Progress: 4988 on 8158  Progress: 4989 on 8158  Progress: 4990 on 8158  Progress: 4991 on 8158  Progress: 4992 on 8158  Progress: 4993 on 8158  Progress: 4994 on 8158  Progress: 4995 on 8158  Progress: 4996 on 8158  Progress: 4997 on 8158  Progress: 4998 on 8158  Progress: 4999 on 8158  Progress: 5000 on 8158  Progress: 5001 on 8158  Progress: 5002 on 8158  Progress: 5003 on 8158  Progress: 5004 on 8158  Progress: 5005 on 8158  Progress: 5006 on 8158  Progress: 5007 on 8158  Progress: 5008 on 8158  Progress: 5009 on 8158  Progress: 5010 on 8158  Progress: 5011 on 8158  Progress: 5012 on 8158  Progress: 5013 on 8158  Progress: 5014 on 8158  Progress: 5015 on 8158  Progress: 5016 on 8158  Progress: 5017 on 8158  Progress: 5018 on 8158  Progress: 5019 on 8158  Progress: 5020 on 8158  Progress: 5021 on 8158  Progress: 5022 on 8158  Progress: 5023 on 8158  Progress: 5024 on 8158  Progress: 5025 on 8158  Progress: 5026 on 8158  Progress: 5027 on 8158  Progress: 5028 on 8158  Progress: 5029 on 8158  Progress: 5030 on 8158  Progress: 5031 on 8158  Progress: 5032 on 8158  Progress: 5033 on 8158  Progress: 5034 on 8158  Progress: 5035 on 8158  Progress: 5036 on 8158  Progress: 5037 on 8158  Progress: 5038 on 8158  Progress: 5039 on 8158  Progress: 5040 on 8158  Progress: 5041 on 8158  Progress: 5042 on 8158  Progress: 5043 on 8158  Progress: 5044 on 8158  Progress: 5045 on 8158  Progress: 5046 on 8158  Progress: 5047 on 8158  Progress: 5048 on 8158  Progress: 5049 on 8158  Progress: 5050 on 8158  Progress: 5051 on 8158  Progress: 5052 on 8158  Progress: 5053 on 8158  Progress: 5054 on 8158  Progress: 5055 on 8158  Progress: 5056 on 8158  Progress: 5057 on 8158  Progress: 5058 on 8158  Progress: 5059 on 8158  Progress: 5060 on 8158  Progress: 5061 on 8158  Progress: 5062 on 8158  Progress: 5063 on 8158  Progress: 5064 on 8158  Progress: 5065 on 8158  Progress: 5066 on 8158  Progress: 5067 on 8158  Progress: 5068 on 8158  Progress: 5069 on 8158  Progress: 5070 on 8158  Progress: 5071 on 8158  Progress: 5072 on 8158  Progress: 5073 on 8158  Progress: 5074 on 8158  Progress: 5075 on 8158  Progress: 5076 on 8158  Progress: 5077 on 8158  Progress: 5078 on 8158  Progress: 5079 on 8158  Progress: 5080 on 8158  Progress: 5081 on 8158  Progress: 5082 on 8158  Progress: 5083 on 8158  Progress: 5084 on 8158  Progress: 5085 on 8158  Progress: 5086 on 8158  Progress: 5087 on 8158  Progress: 5088 on 8158  Progress: 5089 on 8158  Progress: 5090 on 8158  Progress: 5091 on 8158  Progress: 5092 on 8158  Progress: 5093 on 8158  Progress: 5094 on 8158  Progress: 5095 on 8158  Progress: 5096 on 8158  Progress: 5097 on 8158  Progress: 5098 on 8158  Progress: 5099 on 8158  Progress: 5100 on 8158  Progress: 5101 on 8158  Progress: 5102 on 8158  Progress: 5103 on 8158  Progress: 5104 on 8158  Progress: 5105 on 8158  Progress: 5106 on 8158  Progress: 5107 on 8158  Progress: 5108 on 8158  Progress: 5109 on 8158  Progress: 5110 on 8158  Progress: 5111 on 8158  Progress: 5112 on 8158  Progress: 5113 on 8158  Progress: 5114 on 8158  Progress: 5115 on 8158  Progress: 5116 on 8158  Progress: 5117 on 8158  Progress: 5118 on 8158  Progress: 5119 on 8158  Progress: 5120 on 8158  Progress: 5121 on 8158  Progress: 5122 on 8158  Progress: 5123 on 8158  Progress: 5124 on 8158  Progress: 5125 on 8158  Progress: 5126 on 8158  Progress: 5127 on 8158  Progress: 5128 on 8158  Progress: 5129 on 8158  Progress: 5130 on 8158  Progress: 5131 on 8158  Progress: 5132 on 8158  Progress: 5133 on 8158  Progress: 5134 on 8158  Progress: 5135 on 8158  Progress: 5136 on 8158  Progress: 5137 on 8158  Progress: 5138 on 8158  Progress: 5139 on 8158  Progress: 5140 on 8158  Progress: 5141 on 8158  Progress: 5142 on 8158  Progress: 5143 on 8158  Progress: 5144 on 8158  Progress: 5145 on 8158  Progress: 5146 on 8158  Progress: 5147 on 8158  Progress: 5148 on 8158  Progress: 5149 on 8158  Progress: 5150 on 8158  Progress: 5151 on 8158  Progress: 5152 on 8158  Progress: 5153 on 8158  Progress: 5154 on 8158  Progress: 5155 on 8158  Progress: 5156 on 8158  Progress: 5157 on 8158  Progress: 5158 on 8158  Progress: 5159 on 8158  Progress: 5160 on 8158  Progress: 5161 on 8158  Progress: 5162 on 8158  Progress: 5163 on 8158  Progress: 5164 on 8158  Progress: 5165 on 8158  Progress: 5166 on 8158  Progress: 5167 on 8158  Progress: 5168 on 8158  Progress: 5169 on 8158  Progress: 5170 on 8158  Progress: 5171 on 8158  Progress: 5172 on 8158  Progress: 5173 on 8158  Progress: 5174 on 8158  Progress: 5175 on 8158  Progress: 5176 on 8158  Progress: 5177 on 8158  Progress: 5178 on 8158  Progress: 5179 on 8158  Progress: 5180 on 8158  Progress: 5181 on 8158  Progress: 5182 on 8158  Progress: 5183 on 8158  Progress: 5184 on 8158  Progress: 5185 on 8158  Progress: 5186 on 8158  Progress: 5187 on 8158  Progress: 5188 on 8158  Progress: 5189 on 8158  Progress: 5190 on 8158  Progress: 5191 on 8158  Progress: 5192 on 8158  Progress: 5193 on 8158  Progress: 5194 on 8158  Progress: 5195 on 8158  Progress: 5196 on 8158  Progress: 5197 on 8158  Progress: 5198 on 8158  Progress: 5199 on 8158  Progress: 5200 on 8158  Progress: 5201 on 8158  Progress: 5202 on 8158  Progress: 5203 on 8158  Progress: 5204 on 8158  Progress: 5205 on 8158  Progress: 5206 on 8158  Progress: 5207 on 8158  Progress: 5208 on 8158  Progress: 5209 on 8158  Progress: 5210 on 8158  Progress: 5211 on 8158  Progress: 5212 on 8158  Progress: 5213 on 8158  Progress: 5214 on 8158  Progress: 5215 on 8158  Progress: 5216 on 8158  Progress: 5217 on 8158  Progress: 5218 on 8158  Progress: 5219 on 8158  Progress: 5220 on 8158  Progress: 5221 on 8158  Progress: 5222 on 8158  Progress: 5223 on 8158  Progress: 5224 on 8158  Progress: 5225 on 8158  Progress: 5226 on 8158  Progress: 5227 on 8158  Progress: 5228 on 8158  Progress: 5229 on 8158  Progress: 5230 on 8158  Progress: 5231 on 8158  Progress: 5232 on 8158  Progress: 5233 on 8158  Progress: 5234 on 8158  Progress: 5235 on 8158  Progress: 5236 on 8158  Progress: 5237 on 8158  Progress: 5238 on 8158  Progress: 5239 on 8158  Progress: 5240 on 8158  Progress: 5241 on 8158  Progress: 5242 on 8158  Progress: 5243 on 8158  Progress: 5244 on 8158  Progress: 5245 on 8158  Progress: 5246 on 8158  Progress: 5247 on 8158  Progress: 5248 on 8158  Progress: 5249 on 8158  Progress: 5250 on 8158  Progress: 5251 on 8158  Progress: 5252 on 8158  Progress: 5253 on 8158  Progress: 5254 on 8158  Progress: 5255 on 8158  Progress: 5256 on 8158  Progress: 5257 on 8158  Progress: 5258 on 8158  Progress: 5259 on 8158  Progress: 5260 on 8158  Progress: 5261 on 8158  Progress: 5262 on 8158  Progress: 5263 on 8158  Progress: 5264 on 8158  Progress: 5265 on 8158  Progress: 5266 on 8158  Progress: 5267 on 8158  Progress: 5268 on 8158  Progress: 5269 on 8158  Progress: 5270 on 8158  Progress: 5271 on 8158  Progress: 5272 on 8158  Progress: 5273 on 8158  Progress: 5274 on 8158  Progress: 5275 on 8158  Progress: 5276 on 8158  Progress: 5277 on 8158  Progress: 5278 on 8158  Progress: 5279 on 8158  Progress: 5280 on 8158  Progress: 5281 on 8158  Progress: 5282 on 8158  Progress: 5283 on 8158  Progress: 5284 on 8158  Progress: 5285 on 8158  Progress: 5286 on 8158  Progress: 5287 on 8158  Progress: 5288 on 8158  Progress: 5289 on 8158  Progress: 5290 on 8158  Progress: 5291 on 8158  Progress: 5292 on 8158  Progress: 5293 on 8158  Progress: 5294 on 8158  Progress: 5295 on 8158  Progress: 5296 on 8158  Progress: 5297 on 8158  Progress: 5298 on 8158  Progress: 5299 on 8158  Progress: 5300 on 8158  Progress: 5301 on 8158  Progress: 5302 on 8158  Progress: 5303 on 8158  Progress: 5304 on 8158  Progress: 5305 on 8158  Progress: 5306 on 8158  Progress: 5307 on 8158  Progress: 5308 on 8158  Progress: 5309 on 8158  Progress: 5310 on 8158  Progress: 5311 on 8158  Progress: 5312 on 8158  Progress: 5313 on 8158  Progress: 5314 on 8158  Progress: 5315 on 8158  Progress: 5316 on 8158  Progress: 5317 on 8158  Progress: 5318 on 8158  Progress: 5319 on 8158  Progress: 5320 on 8158  Progress: 5321 on 8158  Progress: 5322 on 8158  Progress: 5323 on 8158  Progress: 5324 on 8158  Progress: 5325 on 8158  Progress: 5326 on 8158  Progress: 5327 on 8158  Progress: 5328 on 8158  Progress: 5329 on 8158  Progress: 5330 on 8158  Progress: 5331 on 8158  Progress: 5332 on 8158  Progress: 5333 on 8158  Progress: 5334 on 8158  Progress: 5335 on 8158  Progress: 5336 on 8158  Progress: 5337 on 8158  Progress: 5338 on 8158  Progress: 5339 on 8158  Progress: 5340 on 8158  Progress: 5341 on 8158  Progress: 5342 on 8158  Progress: 5343 on 8158  Progress: 5344 on 8158  Progress: 5345 on 8158  Progress: 5346 on 8158  Progress: 5347 on 8158  Progress: 5348 on 8158  Progress: 5349 on 8158  Progress: 5350 on 8158  Progress: 5351 on 8158  Progress: 5352 on 8158  Progress: 5353 on 8158  Progress: 5354 on 8158  Progress: 5355 on 8158  Progress: 5356 on 8158  Progress: 5357 on 8158  Progress: 5358 on 8158  Progress: 5359 on 8158  Progress: 5360 on 8158  Progress: 5361 on 8158  Progress: 5362 on 8158  Progress: 5363 on 8158  Progress: 5364 on 8158  Progress: 5365 on 8158  Progress: 5366 on 8158  Progress: 5367 on 8158  Progress: 5368 on 8158  Progress: 5369 on 8158  Progress: 5370 on 8158  Progress: 5371 on 8158  Progress: 5372 on 8158  Progress: 5373 on 8158  Progress: 5374 on 8158  Progress: 5375 on 8158  Progress: 5376 on 8158  Progress: 5377 on 8158  Progress: 5378 on 8158  Progress: 5379 on 8158  Progress: 5380 on 8158  Progress: 5381 on 8158  Progress: 5382 on 8158  Progress: 5383 on 8158  Progress: 5384 on 8158  Progress: 5385 on 8158  Progress: 5386 on 8158  Progress: 5387 on 8158  Progress: 5388 on 8158  Progress: 5389 on 8158  Progress: 5390 on 8158  Progress: 5391 on 8158  Progress: 5392 on 8158  Progress: 5393 on 8158  Progress: 5394 on 8158  Progress: 5395 on 8158  Progress: 5396 on 8158  Progress: 5397 on 8158  Progress: 5398 on 8158  Progress: 5399 on 8158  Progress: 5400 on 8158  Progress: 5401 on 8158  Progress: 5402 on 8158  Progress: 5403 on 8158  Progress: 5404 on 8158  Progress: 5405 on 8158  Progress: 5406 on 8158  Progress: 5407 on 8158  Progress: 5408 on 8158  Progress: 5409 on 8158  Progress: 5410 on 8158  Progress: 5411 on 8158  Progress: 5412 on 8158  Progress: 5413 on 8158  Progress: 5414 on 8158  Progress: 5415 on 8158  Progress: 5416 on 8158  Progress: 5417 on 8158  Progress: 5418 on 8158  Progress: 5419 on 8158  Progress: 5420 on 8158  Progress: 5421 on 8158  Progress: 5422 on 8158  Progress: 5423 on 8158  Progress: 5424 on 8158  Progress: 5425 on 8158  Progress: 5426 on 8158  Progress: 5427 on 8158  Progress: 5428 on 8158  Progress: 5429 on 8158  Progress: 5430 on 8158  Progress: 5431 on 8158  Progress: 5432 on 8158  Progress: 5433 on 8158  Progress: 5434 on 8158  Progress: 5435 on 8158  Progress: 5436 on 8158  Progress: 5437 on 8158  Progress: 5438 on 8158  Progress: 5439 on 8158  Progress: 5440 on 8158  Progress: 5441 on 8158  Progress: 5442 on 8158  Progress: 5443 on 8158  Progress: 5444 on 8158  Progress: 5445 on 8158  Progress: 5446 on 8158  Progress: 5447 on 8158  Progress: 5448 on 8158  Progress: 5449 on 8158  Progress: 5450 on 8158  Progress: 5451 on 8158  Progress: 5452 on 8158  Progress: 5453 on 8158  Progress: 5454 on 8158  Progress: 5455 on 8158  Progress: 5456 on 8158  Progress: 5457 on 8158  Progress: 5458 on 8158  Progress: 5459 on 8158  Progress: 5460 on 8158  Progress: 5461 on 8158  Progress: 5462 on 8158  Progress: 5463 on 8158  Progress: 5464 on 8158  Progress: 5465 on 8158  Progress: 5466 on 8158  Progress: 5467 on 8158  Progress: 5468 on 8158  Progress: 5469 on 8158  Progress: 5470 on 8158  Progress: 5471 on 8158  Progress: 5472 on 8158  Progress: 5473 on 8158  Progress: 5474 on 8158  Progress: 5475 on 8158  Progress: 5476 on 8158  Progress: 5477 on 8158  Progress: 5478 on 8158  Progress: 5479 on 8158  Progress: 5480 on 8158  Progress: 5481 on 8158  Progress: 5482 on 8158  Progress: 5483 on 8158  Progress: 5484 on 8158  Progress: 5485 on 8158  Progress: 5486 on 8158  Progress: 5487 on 8158  Progress: 5488 on 8158  Progress: 5489 on 8158  Progress: 5490 on 8158  Progress: 5491 on 8158  Progress: 5492 on 8158  Progress: 5493 on 8158  Progress: 5494 on 8158  Progress: 5495 on 8158  Progress: 5496 on 8158  Progress: 5497 on 8158  Progress: 5498 on 8158  Progress: 5499 on 8158  Progress: 5500 on 8158  Progress: 5501 on 8158  Progress: 5502 on 8158  Progress: 5503 on 8158  Progress: 5504 on 8158  Progress: 5505 on 8158  Progress: 5506 on 8158  Progress: 5507 on 8158  Progress: 5508 on 8158  Progress: 5509 on 8158  Progress: 5510 on 8158  Progress: 5511 on 8158  Progress: 5512 on 8158  Progress: 5513 on 8158  Progress: 5514 on 8158  Progress: 5515 on 8158  Progress: 5516 on 8158  Progress: 5517 on 8158  Progress: 5518 on 8158  Progress: 5519 on 8158  Progress: 5520 on 8158  Progress: 5521 on 8158  Progress: 5522 on 8158  Progress: 5523 on 8158  Progress: 5524 on 8158  Progress: 5525 on 8158  Progress: 5526 on 8158  Progress: 5527 on 8158  Progress: 5528 on 8158  Progress: 5529 on 8158  Progress: 5530 on 8158  Progress: 5531 on 8158  Progress: 5532 on 8158  Progress: 5533 on 8158  Progress: 5534 on 8158  Progress: 5535 on 8158  Progress: 5536 on 8158  Progress: 5537 on 8158  Progress: 5538 on 8158  Progress: 5539 on 8158  Progress: 5540 on 8158  Progress: 5541 on 8158  Progress: 5542 on 8158  Progress: 5543 on 8158  Progress: 5544 on 8158  Progress: 5545 on 8158  Progress: 5546 on 8158  Progress: 5547 on 8158  Progress: 5548 on 8158  Progress: 5549 on 8158  Progress: 5550 on 8158  Progress: 5551 on 8158  Progress: 5552 on 8158  Progress: 5553 on 8158  Progress: 5554 on 8158  Progress: 5555 on 8158  Progress: 5556 on 8158  Progress: 5557 on 8158  Progress: 5558 on 8158  Progress: 5559 on 8158  Progress: 5560 on 8158  Progress: 5561 on 8158  Progress: 5562 on 8158  Progress: 5563 on 8158  Progress: 5564 on 8158  Progress: 5565 on 8158  Progress: 5566 on 8158  Progress: 5567 on 8158  Progress: 5568 on 8158  Progress: 5569 on 8158  Progress: 5570 on 8158  Progress: 5571 on 8158  Progress: 5572 on 8158  Progress: 5573 on 8158  Progress: 5574 on 8158  Progress: 5575 on 8158  Progress: 5576 on 8158  Progress: 5577 on 8158  Progress: 5578 on 8158  Progress: 5579 on 8158  Progress: 5580 on 8158  Progress: 5581 on 8158  Progress: 5582 on 8158  Progress: 5583 on 8158  Progress: 5584 on 8158  Progress: 5585 on 8158  Progress: 5586 on 8158  Progress: 5587 on 8158  Progress: 5588 on 8158  Progress: 5589 on 8158  Progress: 5590 on 8158  Progress: 5591 on 8158  Progress: 5592 on 8158  Progress: 5593 on 8158  Progress: 5594 on 8158  Progress: 5595 on 8158  Progress: 5596 on 8158  Progress: 5597 on 8158  Progress: 5598 on 8158  Progress: 5599 on 8158  Progress: 5600 on 8158  Progress: 5601 on 8158  Progress: 5602 on 8158  Progress: 5603 on 8158  Progress: 5604 on 8158  Progress: 5605 on 8158  Progress: 5606 on 8158  Progress: 5607 on 8158  Progress: 5608 on 8158  Progress: 5609 on 8158  Progress: 5610 on 8158  Progress: 5611 on 8158  Progress: 5612 on 8158  Progress: 5613 on 8158  Progress: 5614 on 8158  Progress: 5615 on 8158  Progress: 5616 on 8158  Progress: 5617 on 8158  Progress: 5618 on 8158  Progress: 5619 on 8158  Progress: 5620 on 8158  Progress: 5621 on 8158  Progress: 5622 on 8158  Progress: 5623 on 8158  Progress: 5624 on 8158  Progress: 5625 on 8158  Progress: 5626 on 8158  Progress: 5627 on 8158  Progress: 5628 on 8158  Progress: 5629 on 8158  Progress: 5630 on 8158  Progress: 5631 on 8158  Progress: 5632 on 8158  Progress: 5633 on 8158  Progress: 5634 on 8158  Progress: 5635 on 8158  Progress: 5636 on 8158  Progress: 5637 on 8158  Progress: 5638 on 8158  Progress: 5639 on 8158  Progress: 5640 on 8158  Progress: 5641 on 8158  Progress: 5642 on 8158  Progress: 5643 on 8158  Progress: 5644 on 8158  Progress: 5645 on 8158  Progress: 5646 on 8158  Progress: 5647 on 8158  Progress: 5648 on 8158  Progress: 5649 on 8158  Progress: 5650 on 8158  Progress: 5651 on 8158  Progress: 5652 on 8158  Progress: 5653 on 8158  Progress: 5654 on 8158  Progress: 5655 on 8158  Progress: 5656 on 8158  Progress: 5657 on 8158  Progress: 5658 on 8158  Progress: 5659 on 8158  Progress: 5660 on 8158  Progress: 5661 on 8158  Progress: 5662 on 8158  Progress: 5663 on 8158  Progress: 5664 on 8158  Progress: 5665 on 8158  Progress: 5666 on 8158  Progress: 5667 on 8158  Progress: 5668 on 8158  Progress: 5669 on 8158  Progress: 5670 on 8158  Progress: 5671 on 8158  Progress: 5672 on 8158  Progress: 5673 on 8158  Progress: 5674 on 8158  Progress: 5675 on 8158  Progress: 5676 on 8158  Progress: 5677 on 8158  Progress: 5678 on 8158  Progress: 5679 on 8158  Progress: 5680 on 8158  Progress: 5681 on 8158  Progress: 5682 on 8158  Progress: 5683 on 8158  Progress: 5684 on 8158  Progress: 5685 on 8158  Progress: 5686 on 8158  Progress: 5687 on 8158  Progress: 5688 on 8158  Progress: 5689 on 8158  Progress: 5690 on 8158  Progress: 5691 on 8158  Progress: 5692 on 8158  Progress: 5693 on 8158  Progress: 5694 on 8158  Progress: 5695 on 8158  Progress: 5696 on 8158  Progress: 5697 on 8158  Progress: 5698 on 8158  Progress: 5699 on 8158  Progress: 5700 on 8158  Progress: 5701 on 8158  Progress: 5702 on 8158  Progress: 5703 on 8158  Progress: 5704 on 8158  Progress: 5705 on 8158  Progress: 5706 on 8158  Progress: 5707 on 8158  Progress: 5708 on 8158  Progress: 5709 on 8158  Progress: 5710 on 8158  Progress: 5711 on 8158  Progress: 5712 on 8158  Progress: 5713 on 8158  Progress: 5714 on 8158  Progress: 5715 on 8158  Progress: 5716 on 8158  Progress: 5717 on 8158  Progress: 5718 on 8158  Progress: 5719 on 8158  Progress: 5720 on 8158  Progress: 5721 on 8158  Progress: 5722 on 8158  Progress: 5723 on 8158  Progress: 5724 on 8158  Progress: 5725 on 8158  Progress: 5726 on 8158  Progress: 5727 on 8158  Progress: 5728 on 8158  Progress: 5729 on 8158  Progress: 5730 on 8158  Progress: 5731 on 8158  Progress: 5732 on 8158  Progress: 5733 on 8158  Progress: 5734 on 8158  Progress: 5735 on 8158  Progress: 5736 on 8158  Progress: 5737 on 8158  Progress: 5738 on 8158  Progress: 5739 on 8158  Progress: 5740 on 8158  Progress: 5741 on 8158  Progress: 5742 on 8158  Progress: 5743 on 8158  Progress: 5744 on 8158  Progress: 5745 on 8158  Progress: 5746 on 8158  Progress: 5747 on 8158  Progress: 5748 on 8158  Progress: 5749 on 8158  Progress: 5750 on 8158  Progress: 5751 on 8158  Progress: 5752 on 8158  Progress: 5753 on 8158  Progress: 5754 on 8158  Progress: 5755 on 8158  Progress: 5756 on 8158  Progress: 5757 on 8158  Progress: 5758 on 8158  Progress: 5759 on 8158  Progress: 5760 on 8158  Progress: 5761 on 8158  Progress: 5762 on 8158  Progress: 5763 on 8158  Progress: 5764 on 8158  Progress: 5765 on 8158  Progress: 5766 on 8158  Progress: 5767 on 8158  Progress: 5768 on 8158  Progress: 5769 on 8158  Progress: 5770 on 8158  Progress: 5771 on 8158  Progress: 5772 on 8158  Progress: 5773 on 8158  Progress: 5774 on 8158  Progress: 5775 on 8158  Progress: 5776 on 8158  Progress: 5777 on 8158  Progress: 5778 on 8158  Progress: 5779 on 8158  Progress: 5780 on 8158  Progress: 5781 on 8158  Progress: 5782 on 8158  Progress: 5783 on 8158  Progress: 5784 on 8158  Progress: 5785 on 8158  Progress: 5786 on 8158  Progress: 5787 on 8158  Progress: 5788 on 8158  Progress: 5789 on 8158  Progress: 5790 on 8158  Progress: 5791 on 8158  Progress: 5792 on 8158  Progress: 5793 on 8158  Progress: 5794 on 8158  Progress: 5795 on 8158  Progress: 5796 on 8158  Progress: 5797 on 8158  Progress: 5798 on 8158  Progress: 5799 on 8158  Progress: 5800 on 8158  Progress: 5801 on 8158  Progress: 5802 on 8158  Progress: 5803 on 8158  Progress: 5804 on 8158  Progress: 5805 on 8158  Progress: 5806 on 8158  Progress: 5807 on 8158  Progress: 5808 on 8158  Progress: 5809 on 8158  Progress: 5810 on 8158  Progress: 5811 on 8158  Progress: 5812 on 8158  Progress: 5813 on 8158  Progress: 5814 on 8158  Progress: 5815 on 8158  Progress: 5816 on 8158  Progress: 5817 on 8158  Progress: 5818 on 8158  Progress: 5819 on 8158  Progress: 5820 on 8158  Progress: 5821 on 8158  Progress: 5822 on 8158  Progress: 5823 on 8158  Progress: 5824 on 8158  Progress: 5825 on 8158  Progress: 5826 on 8158  Progress: 5827 on 8158  Progress: 5828 on 8158  Progress: 5829 on 8158  Progress: 5830 on 8158  Progress: 5831 on 8158  Progress: 5832 on 8158  Progress: 5833 on 8158  Progress: 5834 on 8158  Progress: 5835 on 8158  Progress: 5836 on 8158  Progress: 5837 on 8158  Progress: 5838 on 8158  Progress: 5839 on 8158  Progress: 5840 on 8158  Progress: 5841 on 8158  Progress: 5842 on 8158  Progress: 5843 on 8158  Progress: 5844 on 8158  Progress: 5845 on 8158  Progress: 5846 on 8158  Progress: 5847 on 8158  Progress: 5848 on 8158  Progress: 5849 on 8158  Progress: 5850 on 8158  Progress: 5851 on 8158  Progress: 5852 on 8158  Progress: 5853 on 8158  Progress: 5854 on 8158  Progress: 5855 on 8158  Progress: 5856 on 8158  Progress: 5857 on 8158  Progress: 5858 on 8158  Progress: 5859 on 8158  Progress: 5860 on 8158  Progress: 5861 on 8158  Progress: 5862 on 8158  Progress: 5863 on 8158  Progress: 5864 on 8158  Progress: 5865 on 8158  Progress: 5866 on 8158  Progress: 5867 on 8158  Progress: 5868 on 8158  Progress: 5869 on 8158  Progress: 5870 on 8158  Progress: 5871 on 8158  Progress: 5872 on 8158  Progress: 5873 on 8158  Progress: 5874 on 8158  Progress: 5875 on 8158  Progress: 5876 on 8158  Progress: 5877 on 8158  Progress: 5878 on 8158  Progress: 5879 on 8158  Progress: 5880 on 8158  Progress: 5881 on 8158  Progress: 5882 on 8158  Progress: 5883 on 8158  Progress: 5884 on 8158  Progress: 5885 on 8158  Progress: 5886 on 8158  Progress: 5887 on 8158  Progress: 5888 on 8158  Progress: 5889 on 8158  Progress: 5890 on 8158  Progress: 5891 on 8158  Progress: 5892 on 8158  Progress: 5893 on 8158  Progress: 5894 on 8158  Progress: 5895 on 8158  Progress: 5896 on 8158  Progress: 5897 on 8158  Progress: 5898 on 8158  Progress: 5899 on 8158  Progress: 5900 on 8158  Progress: 5901 on 8158  Progress: 5902 on 8158  Progress: 5903 on 8158  Progress: 5904 on 8158  Progress: 5905 on 8158  Progress: 5906 on 8158  Progress: 5907 on 8158  Progress: 5908 on 8158  Progress: 5909 on 8158  Progress: 5910 on 8158  Progress: 5911 on 8158  Progress: 5912 on 8158  Progress: 5913 on 8158  Progress: 5914 on 8158  Progress: 5915 on 8158  Progress: 5916 on 8158  Progress: 5917 on 8158  Progress: 5918 on 8158  Progress: 5919 on 8158  Progress: 5920 on 8158  Progress: 5921 on 8158  Progress: 5922 on 8158  Progress: 5923 on 8158  Progress: 5924 on 8158  Progress: 5925 on 8158  Progress: 5926 on 8158  Progress: 5927 on 8158  Progress: 5928 on 8158  Progress: 5929 on 8158  Progress: 5930 on 8158  Progress: 5931 on 8158  Progress: 5932 on 8158  Progress: 5933 on 8158  Progress: 5934 on 8158  Progress: 5935 on 8158  Progress: 5936 on 8158  Progress: 5937 on 8158  Progress: 5938 on 8158  Progress: 5939 on 8158  Progress: 5940 on 8158  Progress: 5941 on 8158  Progress: 5942 on 8158  Progress: 5943 on 8158  Progress: 5944 on 8158  Progress: 5945 on 8158  Progress: 5946 on 8158  Progress: 5947 on 8158  Progress: 5948 on 8158  Progress: 5949 on 8158  Progress: 5950 on 8158  Progress: 5951 on 8158  Progress: 5952 on 8158  Progress: 5953 on 8158  Progress: 5954 on 8158  Progress: 5955 on 8158  Progress: 5956 on 8158  Progress: 5957 on 8158  Progress: 5958 on 8158  Progress: 5959 on 8158  Progress: 5960 on 8158  Progress: 5961 on 8158  Progress: 5962 on 8158  Progress: 5963 on 8158  Progress: 5964 on 8158  Progress: 5965 on 8158  Progress: 5966 on 8158  Progress: 5967 on 8158  Progress: 5968 on 8158  Progress: 5969 on 8158  Progress: 5970 on 8158  Progress: 5971 on 8158  Progress: 5972 on 8158  Progress: 5973 on 8158  Progress: 5974 on 8158  Progress: 5975 on 8158  Progress: 5976 on 8158  Progress: 5977 on 8158  Progress: 5978 on 8158  Progress: 5979 on 8158  Progress: 5980 on 8158  Progress: 5981 on 8158  Progress: 5982 on 8158  Progress: 5983 on 8158  Progress: 5984 on 8158  Progress: 5985 on 8158  Progress: 5986 on 8158  Progress: 5987 on 8158  Progress: 5988 on 8158  Progress: 5989 on 8158  Progress: 5990 on 8158  Progress: 5991 on 8158  Progress: 5992 on 8158  Progress: 5993 on 8158  Progress: 5994 on 8158  Progress: 5995 on 8158  Progress: 5996 on 8158  Progress: 5997 on 8158  Progress: 5998 on 8158  Progress: 5999 on 8158  Progress: 6000 on 8158  Progress: 6001 on 8158  Progress: 6002 on 8158  Progress: 6003 on 8158  Progress: 6004 on 8158  Progress: 6005 on 8158  Progress: 6006 on 8158  Progress: 6007 on 8158  Progress: 6008 on 8158  Progress: 6009 on 8158  Progress: 6010 on 8158  Progress: 6011 on 8158  Progress: 6012 on 8158  Progress: 6013 on 8158  Progress: 6014 on 8158  Progress: 6015 on 8158  Progress: 6016 on 8158  Progress: 6017 on 8158  Progress: 6018 on 8158  Progress: 6019 on 8158  Progress: 6020 on 8158  Progress: 6021 on 8158  Progress: 6022 on 8158  Progress: 6023 on 8158  Progress: 6024 on 8158  Progress: 6025 on 8158  Progress: 6026 on 8158  Progress: 6027 on 8158  Progress: 6028 on 8158  Progress: 6029 on 8158  Progress: 6030 on 8158  Progress: 6031 on 8158  Progress: 6032 on 8158  Progress: 6033 on 8158  Progress: 6034 on 8158  Progress: 6035 on 8158  Progress: 6036 on 8158  Progress: 6037 on 8158  Progress: 6038 on 8158  Progress: 6039 on 8158  Progress: 6040 on 8158  Progress: 6041 on 8158  Progress: 6042 on 8158  Progress: 6043 on 8158  Progress: 6044 on 8158  Progress: 6045 on 8158  Progress: 6046 on 8158  Progress: 6047 on 8158  Progress: 6048 on 8158  Progress: 6049 on 8158  Progress: 6050 on 8158  Progress: 6051 on 8158  Progress: 6052 on 8158  Progress: 6053 on 8158  Progress: 6054 on 8158  Progress: 6055 on 8158  Progress: 6056 on 8158  Progress: 6057 on 8158  Progress: 6058 on 8158  Progress: 6059 on 8158  Progress: 6060 on 8158  Progress: 6061 on 8158  Progress: 6062 on 8158  Progress: 6063 on 8158  Progress: 6064 on 8158  Progress: 6065 on 8158  Progress: 6066 on 8158  Progress: 6067 on 8158  Progress: 6068 on 8158  Progress: 6069 on 8158  Progress: 6070 on 8158  Progress: 6071 on 8158  Progress: 6072 on 8158  Progress: 6073 on 8158  Progress: 6074 on 8158  Progress: 6075 on 8158  Progress: 6076 on 8158  Progress: 6077 on 8158  Progress: 6078 on 8158  Progress: 6079 on 8158  Progress: 6080 on 8158  Progress: 6081 on 8158  Progress: 6082 on 8158  Progress: 6083 on 8158  Progress: 6084 on 8158  Progress: 6085 on 8158  Progress: 6086 on 8158  Progress: 6087 on 8158  Progress: 6088 on 8158  Progress: 6089 on 8158  Progress: 6090 on 8158  Progress: 6091 on 8158  Progress: 6092 on 8158  Progress: 6093 on 8158  Progress: 6094 on 8158  Progress: 6095 on 8158  Progress: 6096 on 8158  Progress: 6097 on 8158  Progress: 6098 on 8158  Progress: 6099 on 8158  Progress: 6100 on 8158  Progress: 6101 on 8158  Progress: 6102 on 8158  Progress: 6103 on 8158  Progress: 6104 on 8158  Progress: 6105 on 8158  Progress: 6106 on 8158  Progress: 6107 on 8158  Progress: 6108 on 8158  Progress: 6109 on 8158  Progress: 6110 on 8158  Progress: 6111 on 8158  Progress: 6112 on 8158  Progress: 6113 on 8158  Progress: 6114 on 8158  Progress: 6115 on 8158  Progress: 6116 on 8158  Progress: 6117 on 8158  Progress: 6118 on 8158  Progress: 6119 on 8158  Progress: 6120 on 8158  Progress: 6121 on 8158  Progress: 6122 on 8158  Progress: 6123 on 8158  Progress: 6124 on 8158  Progress: 6125 on 8158  Progress: 6126 on 8158  Progress: 6127 on 8158  Progress: 6128 on 8158  Progress: 6129 on 8158  Progress: 6130 on 8158  Progress: 6131 on 8158  Progress: 6132 on 8158  Progress: 6133 on 8158  Progress: 6134 on 8158  Progress: 6135 on 8158  Progress: 6136 on 8158  Progress: 6137 on 8158  Progress: 6138 on 8158  Progress: 6139 on 8158  Progress: 6140 on 8158  Progress: 6141 on 8158  Progress: 6142 on 8158  Progress: 6143 on 8158  Progress: 6144 on 8158  Progress: 6145 on 8158  Progress: 6146 on 8158  Progress: 6147 on 8158  Progress: 6148 on 8158  Progress: 6149 on 8158  Progress: 6150 on 8158  Progress: 6151 on 8158  Progress: 6152 on 8158  Progress: 6153 on 8158  Progress: 6154 on 8158  Progress: 6155 on 8158  Progress: 6156 on 8158  Progress: 6157 on 8158  Progress: 6158 on 8158  Progress: 6159 on 8158  Progress: 6160 on 8158  Progress: 6161 on 8158  Progress: 6162 on 8158  Progress: 6163 on 8158  Progress: 6164 on 8158  Progress: 6165 on 8158  Progress: 6166 on 8158  Progress: 6167 on 8158  Progress: 6168 on 8158  Progress: 6169 on 8158  Progress: 6170 on 8158  Progress: 6171 on 8158  Progress: 6172 on 8158  Progress: 6173 on 8158  Progress: 6174 on 8158  Progress: 6175 on 8158  Progress: 6176 on 8158  Progress: 6177 on 8158  Progress: 6178 on 8158  Progress: 6179 on 8158  Progress: 6180 on 8158  Progress: 6181 on 8158  Progress: 6182 on 8158  Progress: 6183 on 8158  Progress: 6184 on 8158  Progress: 6185 on 8158  Progress: 6186 on 8158  Progress: 6187 on 8158  Progress: 6188 on 8158  Progress: 6189 on 8158  Progress: 6190 on 8158  Progress: 6191 on 8158  Progress: 6192 on 8158  Progress: 6193 on 8158  Progress: 6194 on 8158  Progress: 6195 on 8158  Progress: 6196 on 8158  Progress: 6197 on 8158  Progress: 6198 on 8158  Progress: 6199 on 8158  Progress: 6200 on 8158  Progress: 6201 on 8158  Progress: 6202 on 8158  Progress: 6203 on 8158  Progress: 6204 on 8158  Progress: 6205 on 8158  Progress: 6206 on 8158  Progress: 6207 on 8158  Progress: 6208 on 8158  Progress: 6209 on 8158  Progress: 6210 on 8158  Progress: 6211 on 8158  Progress: 6212 on 8158  Progress: 6213 on 8158  Progress: 6214 on 8158  Progress: 6215 on 8158  Progress: 6216 on 8158  Progress: 6217 on 8158  Progress: 6218 on 8158  Progress: 6219 on 8158  Progress: 6220 on 8158  Progress: 6221 on 8158  Progress: 6222 on 8158  Progress: 6223 on 8158  Progress: 6224 on 8158  Progress: 6225 on 8158  Progress: 6226 on 8158  Progress: 6227 on 8158  Progress: 6228 on 8158  Progress: 6229 on 8158  Progress: 6230 on 8158  Progress: 6231 on 8158  Progress: 6232 on 8158  Progress: 6233 on 8158  Progress: 6234 on 8158  Progress: 6235 on 8158  Progress: 6236 on 8158  Progress: 6237 on 8158  Progress: 6238 on 8158  Progress: 6239 on 8158  Progress: 6240 on 8158  Progress: 6241 on 8158  Progress: 6242 on 8158  Progress: 6243 on 8158  Progress: 6244 on 8158  Progress: 6245 on 8158  Progress: 6246 on 8158  Progress: 6247 on 8158  Progress: 6248 on 8158  Progress: 6249 on 8158  Progress: 6250 on 8158  Progress: 6251 on 8158  Progress: 6252 on 8158  Progress: 6253 on 8158  Progress: 6254 on 8158  Progress: 6255 on 8158  Progress: 6256 on 8158  Progress: 6257 on 8158  Progress: 6258 on 8158  Progress: 6259 on 8158  Progress: 6260 on 8158  Progress: 6261 on 8158  Progress: 6262 on 8158  Progress: 6263 on 8158  Progress: 6264 on 8158  Progress: 6265 on 8158  Progress: 6266 on 8158  Progress: 6267 on 8158  Progress: 6268 on 8158  Progress: 6269 on 8158  Progress: 6270 on 8158  Progress: 6271 on 8158  Progress: 6272 on 8158  Progress: 6273 on 8158  Progress: 6274 on 8158  Progress: 6275 on 8158  Progress: 6276 on 8158  Progress: 6277 on 8158  Progress: 6278 on 8158  Progress: 6279 on 8158  Progress: 6280 on 8158  Progress: 6281 on 8158  Progress: 6282 on 8158  Progress: 6283 on 8158  Progress: 6284 on 8158  Progress: 6285 on 8158  Progress: 6286 on 8158  Progress: 6287 on 8158  Progress: 6288 on 8158  Progress: 6289 on 8158  Progress: 6290 on 8158  Progress: 6291 on 8158  Progress: 6292 on 8158  Progress: 6293 on 8158  Progress: 6294 on 8158  Progress: 6295 on 8158  Progress: 6296 on 8158  Progress: 6297 on 8158  Progress: 6298 on 8158  Progress: 6299 on 8158  Progress: 6300 on 8158  Progress: 6301 on 8158  Progress: 6302 on 8158  Progress: 6303 on 8158  Progress: 6304 on 8158  Progress: 6305 on 8158  Progress: 6306 on 8158  Progress: 6307 on 8158  Progress: 6308 on 8158  Progress: 6309 on 8158  Progress: 6310 on 8158  Progress: 6311 on 8158  Progress: 6312 on 8158  Progress: 6313 on 8158  Progress: 6314 on 8158  Progress: 6315 on 8158  Progress: 6316 on 8158  Progress: 6317 on 8158  Progress: 6318 on 8158  Progress: 6319 on 8158  Progress: 6320 on 8158  Progress: 6321 on 8158  Progress: 6322 on 8158  Progress: 6323 on 8158  Progress: 6324 on 8158  Progress: 6325 on 8158  Progress: 6326 on 8158  Progress: 6327 on 8158  Progress: 6328 on 8158  Progress: 6329 on 8158  Progress: 6330 on 8158  Progress: 6331 on 8158  Progress: 6332 on 8158  Progress: 6333 on 8158  Progress: 6334 on 8158  Progress: 6335 on 8158  Progress: 6336 on 8158  Progress: 6337 on 8158  Progress: 6338 on 8158  Progress: 6339 on 8158  Progress: 6340 on 8158  Progress: 6341 on 8158  Progress: 6342 on 8158  Progress: 6343 on 8158  Progress: 6344 on 8158  Progress: 6345 on 8158  Progress: 6346 on 8158  Progress: 6347 on 8158  Progress: 6348 on 8158  Progress: 6349 on 8158  Progress: 6350 on 8158  Progress: 6351 on 8158  Progress: 6352 on 8158  Progress: 6353 on 8158  Progress: 6354 on 8158  Progress: 6355 on 8158  Progress: 6356 on 8158  Progress: 6357 on 8158  Progress: 6358 on 8158  Progress: 6359 on 8158  Progress: 6360 on 8158  Progress: 6361 on 8158  Progress: 6362 on 8158  Progress: 6363 on 8158  Progress: 6364 on 8158  Progress: 6365 on 8158  Progress: 6366 on 8158  Progress: 6367 on 8158  Progress: 6368 on 8158  Progress: 6369 on 8158  Progress: 6370 on 8158  Progress: 6371 on 8158  Progress: 6372 on 8158  Progress: 6373 on 8158  Progress: 6374 on 8158  Progress: 6375 on 8158  Progress: 6376 on 8158  Progress: 6377 on 8158  Progress: 6378 on 8158  Progress: 6379 on 8158  Progress: 6380 on 8158  Progress: 6381 on 8158  Progress: 6382 on 8158  Progress: 6383 on 8158  Progress: 6384 on 8158  Progress: 6385 on 8158  Progress: 6386 on 8158  Progress: 6387 on 8158  Progress: 6388 on 8158  Progress: 6389 on 8158  Progress: 6390 on 8158  Progress: 6391 on 8158  Progress: 6392 on 8158  Progress: 6393 on 8158  Progress: 6394 on 8158  Progress: 6395 on 8158  Progress: 6396 on 8158  Progress: 6397 on 8158  Progress: 6398 on 8158  Progress: 6399 on 8158  Progress: 6400 on 8158  Progress: 6401 on 8158  Progress: 6402 on 8158  Progress: 6403 on 8158  Progress: 6404 on 8158  Progress: 6405 on 8158  Progress: 6406 on 8158  Progress: 6407 on 8158  Progress: 6408 on 8158  Progress: 6409 on 8158  Progress: 6410 on 8158  Progress: 6411 on 8158  Progress: 6412 on 8158  Progress: 6413 on 8158  Progress: 6414 on 8158  Progress: 6415 on 8158  Progress: 6416 on 8158  Progress: 6417 on 8158  Progress: 6418 on 8158  Progress: 6419 on 8158  Progress: 6420 on 8158  Progress: 6421 on 8158  Progress: 6422 on 8158  Progress: 6423 on 8158  Progress: 6424 on 8158  Progress: 6425 on 8158  Progress: 6426 on 8158  Progress: 6427 on 8158  Progress: 6428 on 8158  Progress: 6429 on 8158  Progress: 6430 on 8158  Progress: 6431 on 8158  Progress: 6432 on 8158  Progress: 6433 on 8158  Progress: 6434 on 8158  Progress: 6435 on 8158  Progress: 6436 on 8158  Progress: 6437 on 8158  Progress: 6438 on 8158  Progress: 6439 on 8158  Progress: 6440 on 8158  Progress: 6441 on 8158  Progress: 6442 on 8158  Progress: 6443 on 8158  Progress: 6444 on 8158  Progress: 6445 on 8158  Progress: 6446 on 8158  Progress: 6447 on 8158  Progress: 6448 on 8158  Progress: 6449 on 8158  Progress: 6450 on 8158  Progress: 6451 on 8158  Progress: 6452 on 8158  Progress: 6453 on 8158  Progress: 6454 on 8158  Progress: 6455 on 8158  Progress: 6456 on 8158  Progress: 6457 on 8158  Progress: 6458 on 8158  Progress: 6459 on 8158  Progress: 6460 on 8158  Progress: 6461 on 8158  Progress: 6462 on 8158  Progress: 6463 on 8158  Progress: 6464 on 8158  Progress: 6465 on 8158  Progress: 6466 on 8158  Progress: 6467 on 8158  Progress: 6468 on 8158  Progress: 6469 on 8158  Progress: 6470 on 8158  Progress: 6471 on 8158  Progress: 6472 on 8158  Progress: 6473 on 8158  Progress: 6474 on 8158  Progress: 6475 on 8158  Progress: 6476 on 8158  Progress: 6477 on 8158  Progress: 6478 on 8158  Progress: 6479 on 8158  Progress: 6480 on 8158  Progress: 6481 on 8158  Progress: 6482 on 8158  Progress: 6483 on 8158  Progress: 6484 on 8158  Progress: 6485 on 8158  Progress: 6486 on 8158  Progress: 6487 on 8158  Progress: 6488 on 8158  Progress: 6489 on 8158  Progress: 6490 on 8158  Progress: 6491 on 8158  Progress: 6492 on 8158  Progress: 6493 on 8158  Progress: 6494 on 8158  Progress: 6495 on 8158  Progress: 6496 on 8158  Progress: 6497 on 8158  Progress: 6498 on 8158  Progress: 6499 on 8158  Progress: 6500 on 8158  Progress: 6501 on 8158  Progress: 6502 on 8158  Progress: 6503 on 8158  Progress: 6504 on 8158  Progress: 6505 on 8158  Progress: 6506 on 8158  Progress: 6507 on 8158  Progress: 6508 on 8158  Progress: 6509 on 8158  Progress: 6510 on 8158  Progress: 6511 on 8158  Progress: 6512 on 8158  Progress: 6513 on 8158  Progress: 6514 on 8158  Progress: 6515 on 8158  Progress: 6516 on 8158  Progress: 6517 on 8158  Progress: 6518 on 8158  Progress: 6519 on 8158  Progress: 6520 on 8158  Progress: 6521 on 8158  Progress: 6522 on 8158  Progress: 6523 on 8158  Progress: 6524 on 8158  Progress: 6525 on 8158  Progress: 6526 on 8158  Progress: 6527 on 8158  Progress: 6528 on 8158  Progress: 6529 on 8158  Progress: 6530 on 8158  Progress: 6531 on 8158  Progress: 6532 on 8158  Progress: 6533 on 8158  Progress: 6534 on 8158  Progress: 6535 on 8158  Progress: 6536 on 8158  Progress: 6537 on 8158  Progress: 6538 on 8158  Progress: 6539 on 8158  Progress: 6540 on 8158  Progress: 6541 on 8158  Progress: 6542 on 8158  Progress: 6543 on 8158  Progress: 6544 on 8158  Progress: 6545 on 8158  Progress: 6546 on 8158  Progress: 6547 on 8158  Progress: 6548 on 8158  Progress: 6549 on 8158  Progress: 6550 on 8158  Progress: 6551 on 8158  Progress: 6552 on 8158  Progress: 6553 on 8158  Progress: 6554 on 8158  Progress: 6555 on 8158  Progress: 6556 on 8158  Progress: 6557 on 8158  Progress: 6558 on 8158  Progress: 6559 on 8158  Progress: 6560 on 8158  Progress: 6561 on 8158  Progress: 6562 on 8158  Progress: 6563 on 8158  Progress: 6564 on 8158  Progress: 6565 on 8158  Progress: 6566 on 8158  Progress: 6567 on 8158  Progress: 6568 on 8158  Progress: 6569 on 8158  Progress: 6570 on 8158  Progress: 6571 on 8158  Progress: 6572 on 8158  Progress: 6573 on 8158  Progress: 6574 on 8158  Progress: 6575 on 8158  Progress: 6576 on 8158  Progress: 6577 on 8158  Progress: 6578 on 8158  Progress: 6579 on 8158  Progress: 6580 on 8158  Progress: 6581 on 8158  Progress: 6582 on 8158  Progress: 6583 on 8158  Progress: 6584 on 8158  Progress: 6585 on 8158  Progress: 6586 on 8158  Progress: 6587 on 8158  Progress: 6588 on 8158  Progress: 6589 on 8158  Progress: 6590 on 8158  Progress: 6591 on 8158  Progress: 6592 on 8158  Progress: 6593 on 8158  Progress: 6594 on 8158  Progress: 6595 on 8158  Progress: 6596 on 8158  Progress: 6597 on 8158  Progress: 6598 on 8158  Progress: 6599 on 8158  Progress: 6600 on 8158  Progress: 6601 on 8158  Progress: 6602 on 8158  Progress: 6603 on 8158  Progress: 6604 on 8158  Progress: 6605 on 8158  Progress: 6606 on 8158  Progress: 6607 on 8158  Progress: 6608 on 8158  Progress: 6609 on 8158  Progress: 6610 on 8158  Progress: 6611 on 8158  Progress: 6612 on 8158  Progress: 6613 on 8158  Progress: 6614 on 8158  Progress: 6615 on 8158  Progress: 6616 on 8158  Progress: 6617 on 8158  Progress: 6618 on 8158  Progress: 6619 on 8158  Progress: 6620 on 8158  Progress: 6621 on 8158  Progress: 6622 on 8158  Progress: 6623 on 8158  Progress: 6624 on 8158  Progress: 6625 on 8158  Progress: 6626 on 8158  Progress: 6627 on 8158  Progress: 6628 on 8158  Progress: 6629 on 8158  Progress: 6630 on 8158  Progress: 6631 on 8158  Progress: 6632 on 8158  Progress: 6633 on 8158  Progress: 6634 on 8158  Progress: 6635 on 8158  Progress: 6636 on 8158  Progress: 6637 on 8158  Progress: 6638 on 8158  Progress: 6639 on 8158  Progress: 6640 on 8158  Progress: 6641 on 8158  Progress: 6642 on 8158  Progress: 6643 on 8158  Progress: 6644 on 8158  Progress: 6645 on 8158  Progress: 6646 on 8158  Progress: 6647 on 8158  Progress: 6648 on 8158  Progress: 6649 on 8158  Progress: 6650 on 8158  Progress: 6651 on 8158  Progress: 6652 on 8158  Progress: 6653 on 8158  Progress: 6654 on 8158  Progress: 6655 on 8158  Progress: 6656 on 8158  Progress: 6657 on 8158  Progress: 6658 on 8158  Progress: 6659 on 8158  Progress: 6660 on 8158  Progress: 6661 on 8158  Progress: 6662 on 8158  Progress: 6663 on 8158  Progress: 6664 on 8158  Progress: 6665 on 8158  Progress: 6666 on 8158  Progress: 6667 on 8158  Progress: 6668 on 8158  Progress: 6669 on 8158  Progress: 6670 on 8158  Progress: 6671 on 8158  Progress: 6672 on 8158  Progress: 6673 on 8158  Progress: 6674 on 8158  Progress: 6675 on 8158  Progress: 6676 on 8158  Progress: 6677 on 8158  Progress: 6678 on 8158  Progress: 6679 on 8158  Progress: 6680 on 8158  Progress: 6681 on 8158  Progress: 6682 on 8158  Progress: 6683 on 8158  Progress: 6684 on 8158  Progress: 6685 on 8158  Progress: 6686 on 8158  Progress: 6687 on 8158  Progress: 6688 on 8158  Progress: 6689 on 8158  Progress: 6690 on 8158  Progress: 6691 on 8158  Progress: 6692 on 8158  Progress: 6693 on 8158  Progress: 6694 on 8158  Progress: 6695 on 8158  Progress: 6696 on 8158  Progress: 6697 on 8158  Progress: 6698 on 8158  Progress: 6699 on 8158  Progress: 6700 on 8158  Progress: 6701 on 8158  Progress: 6702 on 8158  Progress: 6703 on 8158  Progress: 6704 on 8158  Progress: 6705 on 8158  Progress: 6706 on 8158  Progress: 6707 on 8158  Progress: 6708 on 8158  Progress: 6709 on 8158  Progress: 6710 on 8158  Progress: 6711 on 8158  Progress: 6712 on 8158  Progress: 6713 on 8158  Progress: 6714 on 8158  Progress: 6715 on 8158  Progress: 6716 on 8158  Progress: 6717 on 8158  Progress: 6718 on 8158  Progress: 6719 on 8158  Progress: 6720 on 8158  Progress: 6721 on 8158  Progress: 6722 on 8158  Progress: 6723 on 8158  Progress: 6724 on 8158  Progress: 6725 on 8158  Progress: 6726 on 8158  Progress: 6727 on 8158  Progress: 6728 on 8158  Progress: 6729 on 8158  Progress: 6730 on 8158  Progress: 6731 on 8158  Progress: 6732 on 8158  Progress: 6733 on 8158  Progress: 6734 on 8158  Progress: 6735 on 8158  Progress: 6736 on 8158  Progress: 6737 on 8158  Progress: 6738 on 8158  Progress: 6739 on 8158  Progress: 6740 on 8158  Progress: 6741 on 8158  Progress: 6742 on 8158  Progress: 6743 on 8158  Progress: 6744 on 8158  Progress: 6745 on 8158  Progress: 6746 on 8158  Progress: 6747 on 8158  Progress: 6748 on 8158  Progress: 6749 on 8158  Progress: 6750 on 8158  Progress: 6751 on 8158  Progress: 6752 on 8158  Progress: 6753 on 8158  Progress: 6754 on 8158  Progress: 6755 on 8158  Progress: 6756 on 8158  Progress: 6757 on 8158  Progress: 6758 on 8158  Progress: 6759 on 8158  Progress: 6760 on 8158  Progress: 6761 on 8158  Progress: 6762 on 8158  Progress: 6763 on 8158  Progress: 6764 on 8158  Progress: 6765 on 8158  Progress: 6766 on 8158  Progress: 6767 on 8158  Progress: 6768 on 8158  Progress: 6769 on 8158  Progress: 6770 on 8158  Progress: 6771 on 8158  Progress: 6772 on 8158  Progress: 6773 on 8158  Progress: 6774 on 8158  Progress: 6775 on 8158  Progress: 6776 on 8158  Progress: 6777 on 8158  Progress: 6778 on 8158  Progress: 6779 on 8158  Progress: 6780 on 8158  Progress: 6781 on 8158  Progress: 6782 on 8158  Progress: 6783 on 8158  Progress: 6784 on 8158  Progress: 6785 on 8158  Progress: 6786 on 8158  Progress: 6787 on 8158  Progress: 6788 on 8158  Progress: 6789 on 8158  Progress: 6790 on 8158  Progress: 6791 on 8158  Progress: 6792 on 8158  Progress: 6793 on 8158  Progress: 6794 on 8158  Progress: 6795 on 8158  Progress: 6796 on 8158  Progress: 6797 on 8158  Progress: 6798 on 8158  Progress: 6799 on 8158  Progress: 6800 on 8158  Progress: 6801 on 8158  Progress: 6802 on 8158  Progress: 6803 on 8158  Progress: 6804 on 8158  Progress: 6805 on 8158  Progress: 6806 on 8158  Progress: 6807 on 8158  Progress: 6808 on 8158  Progress: 6809 on 8158  Progress: 6810 on 8158  Progress: 6811 on 8158  Progress: 6812 on 8158  Progress: 6813 on 8158  Progress: 6814 on 8158  Progress: 6815 on 8158  Progress: 6816 on 8158  Progress: 6817 on 8158  Progress: 6818 on 8158  Progress: 6819 on 8158  Progress: 6820 on 8158  Progress: 6821 on 8158  Progress: 6822 on 8158  Progress: 6823 on 8158  Progress: 6824 on 8158  Progress: 6825 on 8158  Progress: 6826 on 8158  Progress: 6827 on 8158  Progress: 6828 on 8158  Progress: 6829 on 8158  Progress: 6830 on 8158  Progress: 6831 on 8158  Progress: 6832 on 8158  Progress: 6833 on 8158  Progress: 6834 on 8158  Progress: 6835 on 8158  Progress: 6836 on 8158  Progress: 6837 on 8158  Progress: 6838 on 8158  Progress: 6839 on 8158  Progress: 6840 on 8158  Progress: 6841 on 8158  Progress: 6842 on 8158  Progress: 6843 on 8158  Progress: 6844 on 8158  Progress: 6845 on 8158  Progress: 6846 on 8158  Progress: 6847 on 8158  Progress: 6848 on 8158  Progress: 6849 on 8158  Progress: 6850 on 8158  Progress: 6851 on 8158  Progress: 6852 on 8158  Progress: 6853 on 8158  Progress: 6854 on 8158  Progress: 6855 on 8158  Progress: 6856 on 8158  Progress: 6857 on 8158  Progress: 6858 on 8158  Progress: 6859 on 8158  Progress: 6860 on 8158  Progress: 6861 on 8158  Progress: 6862 on 8158  Progress: 6863 on 8158  Progress: 6864 on 8158  Progress: 6865 on 8158  Progress: 6866 on 8158  Progress: 6867 on 8158  Progress: 6868 on 8158  Progress: 6869 on 8158  Progress: 6870 on 8158  Progress: 6871 on 8158  Progress: 6872 on 8158  Progress: 6873 on 8158  Progress: 6874 on 8158  Progress: 6875 on 8158  Progress: 6876 on 8158  Progress: 6877 on 8158  Progress: 6878 on 8158  Progress: 6879 on 8158  Progress: 6880 on 8158  Progress: 6881 on 8158  Progress: 6882 on 8158  Progress: 6883 on 8158  Progress: 6884 on 8158  Progress: 6885 on 8158  Progress: 6886 on 8158  Progress: 6887 on 8158  Progress: 6888 on 8158  Progress: 6889 on 8158  Progress: 6890 on 8158  Progress: 6891 on 8158  Progress: 6892 on 8158  Progress: 6893 on 8158  Progress: 6894 on 8158  Progress: 6895 on 8158  Progress: 6896 on 8158  Progress: 6897 on 8158  Progress: 6898 on 8158  Progress: 6899 on 8158  Progress: 6900 on 8158  Progress: 6901 on 8158  Progress: 6902 on 8158  Progress: 6903 on 8158  Progress: 6904 on 8158  Progress: 6905 on 8158  Progress: 6906 on 8158  Progress: 6907 on 8158  Progress: 6908 on 8158  Progress: 6909 on 8158  Progress: 6910 on 8158  Progress: 6911 on 8158  Progress: 6912 on 8158  Progress: 6913 on 8158  Progress: 6914 on 8158  Progress: 6915 on 8158  Progress: 6916 on 8158  Progress: 6917 on 8158  Progress: 6918 on 8158  Progress: 6919 on 8158  Progress: 6920 on 8158  Progress: 6921 on 8158  Progress: 6922 on 8158  Progress: 6923 on 8158  Progress: 6924 on 8158  Progress: 6925 on 8158  Progress: 6926 on 8158  Progress: 6927 on 8158  Progress: 6928 on 8158  Progress: 6929 on 8158  Progress: 6930 on 8158  Progress: 6931 on 8158  Progress: 6932 on 8158  Progress: 6933 on 8158  Progress: 6934 on 8158  Progress: 6935 on 8158  Progress: 6936 on 8158  Progress: 6937 on 8158  Progress: 6938 on 8158  Progress: 6939 on 8158  Progress: 6940 on 8158  Progress: 6941 on 8158  Progress: 6942 on 8158  Progress: 6943 on 8158  Progress: 6944 on 8158  Progress: 6945 on 8158  Progress: 6946 on 8158  Progress: 6947 on 8158  Progress: 6948 on 8158  Progress: 6949 on 8158  Progress: 6950 on 8158  Progress: 6951 on 8158  Progress: 6952 on 8158  Progress: 6953 on 8158  Progress: 6954 on 8158  Progress: 6955 on 8158  Progress: 6956 on 8158  Progress: 6957 on 8158  Progress: 6958 on 8158  Progress: 6959 on 8158  Progress: 6960 on 8158  Progress: 6961 on 8158  Progress: 6962 on 8158  Progress: 6963 on 8158  Progress: 6964 on 8158  Progress: 6965 on 8158  Progress: 6966 on 8158  Progress: 6967 on 8158  Progress: 6968 on 8158  Progress: 6969 on 8158  Progress: 6970 on 8158  Progress: 6971 on 8158  Progress: 6972 on 8158  Progress: 6973 on 8158  Progress: 6974 on 8158  Progress: 6975 on 8158  Progress: 6976 on 8158  Progress: 6977 on 8158  Progress: 6978 on 8158  Progress: 6979 on 8158  Progress: 6980 on 8158  Progress: 6981 on 8158  Progress: 6982 on 8158  Progress: 6983 on 8158  Progress: 6984 on 8158  Progress: 6985 on 8158  Progress: 6986 on 8158  Progress: 6987 on 8158  Progress: 6988 on 8158  Progress: 6989 on 8158  Progress: 6990 on 8158  Progress: 6991 on 8158  Progress: 6992 on 8158  Progress: 6993 on 8158  Progress: 6994 on 8158  Progress: 6995 on 8158  Progress: 6996 on 8158  Progress: 6997 on 8158  Progress: 6998 on 8158  Progress: 6999 on 8158  Progress: 7000 on 8158  Progress: 7001 on 8158  Progress: 7002 on 8158  Progress: 7003 on 8158  Progress: 7004 on 8158  Progress: 7005 on 8158  Progress: 7006 on 8158  Progress: 7007 on 8158  Progress: 7008 on 8158  Progress: 7009 on 8158  Progress: 7010 on 8158  Progress: 7011 on 8158  Progress: 7012 on 8158  Progress: 7013 on 8158  Progress: 7014 on 8158  Progress: 7015 on 8158  Progress: 7016 on 8158  Progress: 7017 on 8158  Progress: 7018 on 8158  Progress: 7019 on 8158  Progress: 7020 on 8158  Progress: 7021 on 8158  Progress: 7022 on 8158  Progress: 7023 on 8158  Progress: 7024 on 8158  Progress: 7025 on 8158  Progress: 7026 on 8158  Progress: 7027 on 8158  Progress: 7028 on 8158  Progress: 7029 on 8158  Progress: 7030 on 8158  Progress: 7031 on 8158  Progress: 7032 on 8158  Progress: 7033 on 8158  Progress: 7034 on 8158  Progress: 7035 on 8158  Progress: 7036 on 8158  Progress: 7037 on 8158  Progress: 7038 on 8158  Progress: 7039 on 8158  Progress: 7040 on 8158  Progress: 7041 on 8158  Progress: 7042 on 8158  Progress: 7043 on 8158  Progress: 7044 on 8158  Progress: 7045 on 8158  Progress: 7046 on 8158  Progress: 7047 on 8158  Progress: 7048 on 8158  Progress: 7049 on 8158  Progress: 7050 on 8158  Progress: 7051 on 8158  Progress: 7052 on 8158  Progress: 7053 on 8158  Progress: 7054 on 8158  Progress: 7055 on 8158  Progress: 7056 on 8158  Progress: 7057 on 8158  Progress: 7058 on 8158  Progress: 7059 on 8158  Progress: 7060 on 8158  Progress: 7061 on 8158  Progress: 7062 on 8158  Progress: 7063 on 8158  Progress: 7064 on 8158  Progress: 7065 on 8158  Progress: 7066 on 8158  Progress: 7067 on 8158  Progress: 7068 on 8158  Progress: 7069 on 8158  Progress: 7070 on 8158  Progress: 7071 on 8158  Progress: 7072 on 8158  Progress: 7073 on 8158  Progress: 7074 on 8158  Progress: 7075 on 8158  Progress: 7076 on 8158  Progress: 7077 on 8158  Progress: 7078 on 8158  Progress: 7079 on 8158  Progress: 7080 on 8158  Progress: 7081 on 8158  Progress: 7082 on 8158  Progress: 7083 on 8158  Progress: 7084 on 8158  Progress: 7085 on 8158  Progress: 7086 on 8158  Progress: 7087 on 8158  Progress: 7088 on 8158  Progress: 7089 on 8158  Progress: 7090 on 8158  Progress: 7091 on 8158  Progress: 7092 on 8158  Progress: 7093 on 8158  Progress: 7094 on 8158  Progress: 7095 on 8158  Progress: 7096 on 8158  Progress: 7097 on 8158  Progress: 7098 on 8158  Progress: 7099 on 8158  Progress: 7100 on 8158  Progress: 7101 on 8158  Progress: 7102 on 8158  Progress: 7103 on 8158  Progress: 7104 on 8158  Progress: 7105 on 8158  Progress: 7106 on 8158  Progress: 7107 on 8158  Progress: 7108 on 8158  Progress: 7109 on 8158  Progress: 7110 on 8158  Progress: 7111 on 8158  Progress: 7112 on 8158  Progress: 7113 on 8158  Progress: 7114 on 8158  Progress: 7115 on 8158  Progress: 7116 on 8158  Progress: 7117 on 8158  Progress: 7118 on 8158  Progress: 7119 on 8158  Progress: 7120 on 8158  Progress: 7121 on 8158  Progress: 7122 on 8158  Progress: 7123 on 8158  Progress: 7124 on 8158  Progress: 7125 on 8158  Progress: 7126 on 8158  Progress: 7127 on 8158  Progress: 7128 on 8158  Progress: 7129 on 8158  Progress: 7130 on 8158  Progress: 7131 on 8158  Progress: 7132 on 8158  Progress: 7133 on 8158  Progress: 7134 on 8158  Progress: 7135 on 8158  Progress: 7136 on 8158  Progress: 7137 on 8158  Progress: 7138 on 8158  Progress: 7139 on 8158  Progress: 7140 on 8158  Progress: 7141 on 8158  Progress: 7142 on 8158  Progress: 7143 on 8158  Progress: 7144 on 8158  Progress: 7145 on 8158  Progress: 7146 on 8158  Progress: 7147 on 8158  Progress: 7148 on 8158  Progress: 7149 on 8158  Progress: 7150 on 8158  Progress: 7151 on 8158  Progress: 7152 on 8158  Progress: 7153 on 8158  Progress: 7154 on 8158  Progress: 7155 on 8158  Progress: 7156 on 8158  Progress: 7157 on 8158  Progress: 7158 on 8158  Progress: 7159 on 8158  Progress: 7160 on 8158  Progress: 7161 on 8158  Progress: 7162 on 8158  Progress: 7163 on 8158  Progress: 7164 on 8158  Progress: 7165 on 8158  Progress: 7166 on 8158  Progress: 7167 on 8158  Progress: 7168 on 8158  Progress: 7169 on 8158  Progress: 7170 on 8158  Progress: 7171 on 8158  Progress: 7172 on 8158  Progress: 7173 on 8158  Progress: 7174 on 8158  Progress: 7175 on 8158  Progress: 7176 on 8158  Progress: 7177 on 8158  Progress: 7178 on 8158  Progress: 7179 on 8158  Progress: 7180 on 8158  Progress: 7181 on 8158  Progress: 7182 on 8158  Progress: 7183 on 8158  Progress: 7184 on 8158  Progress: 7185 on 8158  Progress: 7186 on 8158  Progress: 7187 on 8158  Progress: 7188 on 8158  Progress: 7189 on 8158  Progress: 7190 on 8158  Progress: 7191 on 8158  Progress: 7192 on 8158  Progress: 7193 on 8158  Progress: 7194 on 8158  Progress: 7195 on 8158  Progress: 7196 on 8158  Progress: 7197 on 8158  Progress: 7198 on 8158  Progress: 7199 on 8158  Progress: 7200 on 8158  Progress: 7201 on 8158  Progress: 7202 on 8158  Progress: 7203 on 8158  Progress: 7204 on 8158  Progress: 7205 on 8158  Progress: 7206 on 8158  Progress: 7207 on 8158  Progress: 7208 on 8158  Progress: 7209 on 8158  Progress: 7210 on 8158  Progress: 7211 on 8158  Progress: 7212 on 8158  Progress: 7213 on 8158  Progress: 7214 on 8158  Progress: 7215 on 8158  Progress: 7216 on 8158  Progress: 7217 on 8158  Progress: 7218 on 8158  Progress: 7219 on 8158  Progress: 7220 on 8158  Progress: 7221 on 8158  Progress: 7222 on 8158  Progress: 7223 on 8158  Progress: 7224 on 8158  Progress: 7225 on 8158  Progress: 7226 on 8158  Progress: 7227 on 8158  Progress: 7228 on 8158  Progress: 7229 on 8158  Progress: 7230 on 8158  Progress: 7231 on 8158  Progress: 7232 on 8158  Progress: 7233 on 8158  Progress: 7234 on 8158  Progress: 7235 on 8158  Progress: 7236 on 8158  Progress: 7237 on 8158  Progress: 7238 on 8158  Progress: 7239 on 8158  Progress: 7240 on 8158  Progress: 7241 on 8158  Progress: 7242 on 8158  Progress: 7243 on 8158  Progress: 7244 on 8158  Progress: 7245 on 8158  Progress: 7246 on 8158  Progress: 7247 on 8158  Progress: 7248 on 8158  Progress: 7249 on 8158  Progress: 7250 on 8158  Progress: 7251 on 8158  Progress: 7252 on 8158  Progress: 7253 on 8158  Progress: 7254 on 8158  Progress: 7255 on 8158  Progress: 7256 on 8158  Progress: 7257 on 8158  Progress: 7258 on 8158  Progress: 7259 on 8158  Progress: 7260 on 8158  Progress: 7261 on 8158  Progress: 7262 on 8158  Progress: 7263 on 8158  Progress: 7264 on 8158  Progress: 7265 on 8158  Progress: 7266 on 8158  Progress: 7267 on 8158  Progress: 7268 on 8158  Progress: 7269 on 8158  Progress: 7270 on 8158  Progress: 7271 on 8158  Progress: 7272 on 8158  Progress: 7273 on 8158  Progress: 7274 on 8158  Progress: 7275 on 8158  Progress: 7276 on 8158  Progress: 7277 on 8158  Progress: 7278 on 8158  Progress: 7279 on 8158  Progress: 7280 on 8158  Progress: 7281 on 8158  Progress: 7282 on 8158  Progress: 7283 on 8158  Progress: 7284 on 8158  Progress: 7285 on 8158  Progress: 7286 on 8158  Progress: 7287 on 8158  Progress: 7288 on 8158  Progress: 7289 on 8158  Progress: 7290 on 8158  Progress: 7291 on 8158  Progress: 7292 on 8158  Progress: 7293 on 8158  Progress: 7294 on 8158  Progress: 7295 on 8158  Progress: 7296 on 8158  Progress: 7297 on 8158  Progress: 7298 on 8158  Progress: 7299 on 8158  Progress: 7300 on 8158  Progress: 7301 on 8158  Progress: 7302 on 8158  Progress: 7303 on 8158  Progress: 7304 on 8158  Progress: 7305 on 8158  Progress: 7306 on 8158  Progress: 7307 on 8158  Progress: 7308 on 8158  Progress: 7309 on 8158  Progress: 7310 on 8158  Progress: 7311 on 8158  Progress: 7312 on 8158  Progress: 7313 on 8158  Progress: 7314 on 8158  Progress: 7315 on 8158  Progress: 7316 on 8158  Progress: 7317 on 8158  Progress: 7318 on 8158  Progress: 7319 on 8158  Progress: 7320 on 8158  Progress: 7321 on 8158  Progress: 7322 on 8158  Progress: 7323 on 8158  Progress: 7324 on 8158  Progress: 7325 on 8158  Progress: 7326 on 8158  Progress: 7327 on 8158  Progress: 7328 on 8158  Progress: 7329 on 8158  Progress: 7330 on 8158  Progress: 7331 on 8158  Progress: 7332 on 8158  Progress: 7333 on 8158  Progress: 7334 on 8158  Progress: 7335 on 8158  Progress: 7336 on 8158  Progress: 7337 on 8158  Progress: 7338 on 8158  Progress: 7339 on 8158  Progress: 7340 on 8158  Progress: 7341 on 8158  Progress: 7342 on 8158  Progress: 7343 on 8158  Progress: 7344 on 8158  Progress: 7345 on 8158  Progress: 7346 on 8158  Progress: 7347 on 8158  Progress: 7348 on 8158  Progress: 7349 on 8158  Progress: 7350 on 8158  Progress: 7351 on 8158  Progress: 7352 on 8158  Progress: 7353 on 8158  Progress: 7354 on 8158  Progress: 7355 on 8158  Progress: 7356 on 8158  Progress: 7357 on 8158  Progress: 7358 on 8158  Progress: 7359 on 8158  Progress: 7360 on 8158  Progress: 7361 on 8158  Progress: 7362 on 8158  Progress: 7363 on 8158  Progress: 7364 on 8158  Progress: 7365 on 8158  Progress: 7366 on 8158  Progress: 7367 on 8158  Progress: 7368 on 8158  Progress: 7369 on 8158  Progress: 7370 on 8158  Progress: 7371 on 8158  Progress: 7372 on 8158  Progress: 7373 on 8158  Progress: 7374 on 8158  Progress: 7375 on 8158  Progress: 7376 on 8158  Progress: 7377 on 8158  Progress: 7378 on 8158  Progress: 7379 on 8158  Progress: 7380 on 8158  Progress: 7381 on 8158  Progress: 7382 on 8158  Progress: 7383 on 8158  Progress: 7384 on 8158  Progress: 7385 on 8158  Progress: 7386 on 8158  Progress: 7387 on 8158  Progress: 7388 on 8158  Progress: 7389 on 8158  Progress: 7390 on 8158  Progress: 7391 on 8158  Progress: 7392 on 8158  Progress: 7393 on 8158  Progress: 7394 on 8158  Progress: 7395 on 8158  Progress: 7396 on 8158  Progress: 7397 on 8158  Progress: 7398 on 8158  Progress: 7399 on 8158  Progress: 7400 on 8158  Progress: 7401 on 8158  Progress: 7402 on 8158  Progress: 7403 on 8158  Progress: 7404 on 8158  Progress: 7405 on 8158  Progress: 7406 on 8158  Progress: 7407 on 8158  Progress: 7408 on 8158  Progress: 7409 on 8158  Progress: 7410 on 8158  Progress: 7411 on 8158  Progress: 7412 on 8158  Progress: 7413 on 8158  Progress: 7414 on 8158  Progress: 7415 on 8158  Progress: 7416 on 8158  Progress: 7417 on 8158  Progress: 7418 on 8158  Progress: 7419 on 8158  Progress: 7420 on 8158  Progress: 7421 on 8158  Progress: 7422 on 8158  Progress: 7423 on 8158  Progress: 7424 on 8158  Progress: 7425 on 8158  Progress: 7426 on 8158  Progress: 7427 on 8158  Progress: 7428 on 8158  Progress: 7429 on 8158  Progress: 7430 on 8158  Progress: 7431 on 8158  Progress: 7432 on 8158  Progress: 7433 on 8158  Progress: 7434 on 8158  Progress: 7435 on 8158  Progress: 7436 on 8158  Progress: 7437 on 8158  Progress: 7438 on 8158  Progress: 7439 on 8158  Progress: 7440 on 8158  Progress: 7441 on 8158  Progress: 7442 on 8158  Progress: 7443 on 8158  Progress: 7444 on 8158  Progress: 7445 on 8158  Progress: 7446 on 8158  Progress: 7447 on 8158  Progress: 7448 on 8158  Progress: 7449 on 8158  Progress: 7450 on 8158  Progress: 7451 on 8158  Progress: 7452 on 8158  Progress: 7453 on 8158  Progress: 7454 on 8158  Progress: 7455 on 8158  Progress: 7456 on 8158  Progress: 7457 on 8158  Progress: 7458 on 8158  Progress: 7459 on 8158  Progress: 7460 on 8158  Progress: 7461 on 8158  Progress: 7462 on 8158  Progress: 7463 on 8158  Progress: 7464 on 8158  Progress: 7465 on 8158  Progress: 7466 on 8158  Progress: 7467 on 8158  Progress: 7468 on 8158  Progress: 7469 on 8158  Progress: 7470 on 8158  Progress: 7471 on 8158  Progress: 7472 on 8158  Progress: 7473 on 8158  Progress: 7474 on 8158  Progress: 7475 on 8158  Progress: 7476 on 8158  Progress: 7477 on 8158  Progress: 7478 on 8158  Progress: 7479 on 8158  Progress: 7480 on 8158  Progress: 7481 on 8158  Progress: 7482 on 8158  Progress: 7483 on 8158  Progress: 7484 on 8158  Progress: 7485 on 8158  Progress: 7486 on 8158  Progress: 7487 on 8158  Progress: 7488 on 8158  Progress: 7489 on 8158  Progress: 7490 on 8158  Progress: 7491 on 8158  Progress: 7492 on 8158  Progress: 7493 on 8158  Progress: 7494 on 8158  Progress: 7495 on 8158  Progress: 7496 on 8158  Progress: 7497 on 8158  Progress: 7498 on 8158  Progress: 7499 on 8158  Progress: 7500 on 8158  Progress: 7501 on 8158  Progress: 7502 on 8158  Progress: 7503 on 8158  Progress: 7504 on 8158  Progress: 7505 on 8158  Progress: 7506 on 8158  Progress: 7507 on 8158  Progress: 7508 on 8158  Progress: 7509 on 8158  Progress: 7510 on 8158  Progress: 7511 on 8158  Progress: 7512 on 8158  Progress: 7513 on 8158  Progress: 7514 on 8158  Progress: 7515 on 8158  Progress: 7516 on 8158  Progress: 7517 on 8158  Progress: 7518 on 8158  Progress: 7519 on 8158  Progress: 7520 on 8158  Progress: 7521 on 8158  Progress: 7522 on 8158  Progress: 7523 on 8158  Progress: 7524 on 8158  Progress: 7525 on 8158  Progress: 7526 on 8158  Progress: 7527 on 8158  Progress: 7528 on 8158  Progress: 7529 on 8158  Progress: 7530 on 8158  Progress: 7531 on 8158  Progress: 7532 on 8158  Progress: 7533 on 8158  Progress: 7534 on 8158  Progress: 7535 on 8158  Progress: 7536 on 8158  Progress: 7537 on 8158  Progress: 7538 on 8158  Progress: 7539 on 8158  Progress: 7540 on 8158  Progress: 7541 on 8158  Progress: 7542 on 8158  Progress: 7543 on 8158  Progress: 7544 on 8158  Progress: 7545 on 8158  Progress: 7546 on 8158  Progress: 7547 on 8158  Progress: 7548 on 8158  Progress: 7549 on 8158  Progress: 7550 on 8158  Progress: 7551 on 8158  Progress: 7552 on 8158  Progress: 7553 on 8158  Progress: 7554 on 8158  Progress: 7555 on 8158  Progress: 7556 on 8158  Progress: 7557 on 8158  Progress: 7558 on 8158  Progress: 7559 on 8158  Progress: 7560 on 8158  Progress: 7561 on 8158  Progress: 7562 on 8158  Progress: 7563 on 8158  Progress: 7564 on 8158  Progress: 7565 on 8158  Progress: 7566 on 8158  Progress: 7567 on 8158  Progress: 7568 on 8158  Progress: 7569 on 8158  Progress: 7570 on 8158  Progress: 7571 on 8158  Progress: 7572 on 8158  Progress: 7573 on 8158  Progress: 7574 on 8158  Progress: 7575 on 8158  Progress: 7576 on 8158  Progress: 7577 on 8158  Progress: 7578 on 8158  Progress: 7579 on 8158  Progress: 7580 on 8158  Progress: 7581 on 8158  Progress: 7582 on 8158  Progress: 7583 on 8158  Progress: 7584 on 8158  Progress: 7585 on 8158  Progress: 7586 on 8158  Progress: 7587 on 8158  Progress: 7588 on 8158  Progress: 7589 on 8158  Progress: 7590 on 8158  Progress: 7591 on 8158  Progress: 7592 on 8158  Progress: 7593 on 8158  Progress: 7594 on 8158  Progress: 7595 on 8158  Progress: 7596 on 8158  Progress: 7597 on 8158  Progress: 7598 on 8158  Progress: 7599 on 8158  Progress: 7600 on 8158  Progress: 7601 on 8158  Progress: 7602 on 8158  Progress: 7603 on 8158  Progress: 7604 on 8158  Progress: 7605 on 8158  Progress: 7606 on 8158  Progress: 7607 on 8158  Progress: 7608 on 8158  Progress: 7609 on 8158  Progress: 7610 on 8158  Progress: 7611 on 8158  Progress: 7612 on 8158  Progress: 7613 on 8158  Progress: 7614 on 8158  Progress: 7615 on 8158  Progress: 7616 on 8158  Progress: 7617 on 8158  Progress: 7618 on 8158  Progress: 7619 on 8158  Progress: 7620 on 8158  Progress: 7621 on 8158  Progress: 7622 on 8158  Progress: 7623 on 8158  Progress: 7624 on 8158  Progress: 7625 on 8158  Progress: 7626 on 8158  Progress: 7627 on 8158  Progress: 7628 on 8158  Progress: 7629 on 8158  Progress: 7630 on 8158  Progress: 7631 on 8158  Progress: 7632 on 8158  Progress: 7633 on 8158  Progress: 7634 on 8158  Progress: 7635 on 8158  Progress: 7636 on 8158  Progress: 7637 on 8158  Progress: 7638 on 8158  Progress: 7639 on 8158  Progress: 7640 on 8158  Progress: 7641 on 8158  Progress: 7642 on 8158  Progress: 7643 on 8158  Progress: 7644 on 8158  Progress: 7645 on 8158  Progress: 7646 on 8158  Progress: 7647 on 8158  Progress: 7648 on 8158  Progress: 7649 on 8158  Progress: 7650 on 8158  Progress: 7651 on 8158  Progress: 7652 on 8158  Progress: 7653 on 8158  Progress: 7654 on 8158  Progress: 7655 on 8158  Progress: 7656 on 8158  Progress: 7657 on 8158  Progress: 7658 on 8158  Progress: 7659 on 8158  Progress: 7660 on 8158  Progress: 7661 on 8158  Progress: 7662 on 8158  Progress: 7663 on 8158  Progress: 7664 on 8158  Progress: 7665 on 8158  Progress: 7666 on 8158  Progress: 7667 on 8158  Progress: 7668 on 8158  Progress: 7669 on 8158  Progress: 7670 on 8158  Progress: 7671 on 8158  Progress: 7672 on 8158  Progress: 7673 on 8158  Progress: 7674 on 8158  Progress: 7675 on 8158  Progress: 7676 on 8158  Progress: 7677 on 8158  Progress: 7678 on 8158  Progress: 7679 on 8158  Progress: 7680 on 8158  Progress: 7681 on 8158  Progress: 7682 on 8158  Progress: 7683 on 8158  Progress: 7684 on 8158  Progress: 7685 on 8158  Progress: 7686 on 8158  Progress: 7687 on 8158  Progress: 7688 on 8158  Progress: 7689 on 8158  Progress: 7690 on 8158  Progress: 7691 on 8158  Progress: 7692 on 8158  Progress: 7693 on 8158  Progress: 7694 on 8158  Progress: 7695 on 8158  Progress: 7696 on 8158  Progress: 7697 on 8158  Progress: 7698 on 8158  Progress: 7699 on 8158  Progress: 7700 on 8158  Progress: 7701 on 8158  Progress: 7702 on 8158  Progress: 7703 on 8158  Progress: 7704 on 8158  Progress: 7705 on 8158  Progress: 7706 on 8158  Progress: 7707 on 8158  Progress: 7708 on 8158  Progress: 7709 on 8158  Progress: 7710 on 8158  Progress: 7711 on 8158  Progress: 7712 on 8158  Progress: 7713 on 8158  Progress: 7714 on 8158  Progress: 7715 on 8158  Progress: 7716 on 8158  Progress: 7717 on 8158  Progress: 7718 on 8158  Progress: 7719 on 8158  Progress: 7720 on 8158  Progress: 7721 on 8158  Progress: 7722 on 8158  Progress: 7723 on 8158  Progress: 7724 on 8158  Progress: 7725 on 8158  Progress: 7726 on 8158  Progress: 7727 on 8158  Progress: 7728 on 8158  Progress: 7729 on 8158  Progress: 7730 on 8158  Progress: 7731 on 8158  Progress: 7732 on 8158  Progress: 7733 on 8158  Progress: 7734 on 8158  Progress: 7735 on 8158  Progress: 7736 on 8158  Progress: 7737 on 8158  Progress: 7738 on 8158  Progress: 7739 on 8158  Progress: 7740 on 8158  Progress: 7741 on 8158  Progress: 7742 on 8158  Progress: 7743 on 8158  Progress: 7744 on 8158  Progress: 7745 on 8158  Progress: 7746 on 8158  Progress: 7747 on 8158  Progress: 7748 on 8158  Progress: 7749 on 8158  Progress: 7750 on 8158  Progress: 7751 on 8158  Progress: 7752 on 8158  Progress: 7753 on 8158  Progress: 7754 on 8158  Progress: 7755 on 8158  Progress: 7756 on 8158  Progress: 7757 on 8158  Progress: 7758 on 8158  Progress: 7759 on 8158  Progress: 7760 on 8158  Progress: 7761 on 8158  Progress: 7762 on 8158  Progress: 7763 on 8158  Progress: 7764 on 8158  Progress: 7765 on 8158  Progress: 7766 on 8158  Progress: 7767 on 8158  Progress: 7768 on 8158  Progress: 7769 on 8158  Progress: 7770 on 8158  Progress: 7771 on 8158  Progress: 7772 on 8158  Progress: 7773 on 8158  Progress: 7774 on 8158  Progress: 7775 on 8158  Progress: 7776 on 8158  Progress: 7777 on 8158  Progress: 7778 on 8158  Progress: 7779 on 8158  Progress: 7780 on 8158  Progress: 7781 on 8158  Progress: 7782 on 8158  Progress: 7783 on 8158  Progress: 7784 on 8158  Progress: 7785 on 8158  Progress: 7786 on 8158  Progress: 7787 on 8158  Progress: 7788 on 8158  Progress: 7789 on 8158  Progress: 7790 on 8158  Progress: 7791 on 8158  Progress: 7792 on 8158  Progress: 7793 on 8158  Progress: 7794 on 8158  Progress: 7795 on 8158  Progress: 7796 on 8158  Progress: 7797 on 8158  Progress: 7798 on 8158  Progress: 7799 on 8158  Progress: 7800 on 8158  Progress: 7801 on 8158  Progress: 7802 on 8158  Progress: 7803 on 8158  Progress: 7804 on 8158  Progress: 7805 on 8158  Progress: 7806 on 8158  Progress: 7807 on 8158  Progress: 7808 on 8158  Progress: 7809 on 8158  Progress: 7810 on 8158  Progress: 7811 on 8158  Progress: 7812 on 8158  Progress: 7813 on 8158  Progress: 7814 on 8158  Progress: 7815 on 8158  Progress: 7816 on 8158  Progress: 7817 on 8158  Progress: 7818 on 8158  Progress: 7819 on 8158  Progress: 7820 on 8158  Progress: 7821 on 8158  Progress: 7822 on 8158  Progress: 7823 on 8158  Progress: 7824 on 8158  Progress: 7825 on 8158  Progress: 7826 on 8158  Progress: 7827 on 8158  Progress: 7828 on 8158  Progress: 7829 on 8158  Progress: 7830 on 8158  Progress: 7831 on 8158  Progress: 7832 on 8158  Progress: 7833 on 8158  Progress: 7834 on 8158  Progress: 7835 on 8158  Progress: 7836 on 8158  Progress: 7837 on 8158  Progress: 7838 on 8158  Progress: 7839 on 8158  Progress: 7840 on 8158  Progress: 7841 on 8158  Progress: 7842 on 8158  Progress: 7843 on 8158  Progress: 7844 on 8158  Progress: 7845 on 8158  Progress: 7846 on 8158  Progress: 7847 on 8158  Progress: 7848 on 8158  Progress: 7849 on 8158  Progress: 7850 on 8158  Progress: 7851 on 8158  Progress: 7852 on 8158  Progress: 7853 on 8158  Progress: 7854 on 8158  Progress: 7855 on 8158  Progress: 7856 on 8158  Progress: 7857 on 8158  Progress: 7858 on 8158  Progress: 7859 on 8158  Progress: 7860 on 8158  Progress: 7861 on 8158  Progress: 7862 on 8158  Progress: 7863 on 8158  Progress: 7864 on 8158  Progress: 7865 on 8158  Progress: 7866 on 8158  Progress: 7867 on 8158  Progress: 7868 on 8158  Progress: 7869 on 8158  Progress: 7870 on 8158  Progress: 7871 on 8158  Progress: 7872 on 8158  Progress: 7873 on 8158  Progress: 7874 on 8158  Progress: 7875 on 8158  Progress: 7876 on 8158  Progress: 7877 on 8158  Progress: 7878 on 8158  Progress: 7879 on 8158  Progress: 7880 on 8158  Progress: 7881 on 8158  Progress: 7882 on 8158  Progress: 7883 on 8158  Progress: 7884 on 8158  Progress: 7885 on 8158  Progress: 7886 on 8158  Progress: 7887 on 8158  Progress: 7888 on 8158  Progress: 7889 on 8158  Progress: 7890 on 8158  Progress: 7891 on 8158  Progress: 7892 on 8158  Progress: 7893 on 8158  Progress: 7894 on 8158  Progress: 7895 on 8158  Progress: 7896 on 8158  Progress: 7897 on 8158  Progress: 7898 on 8158  Progress: 7899 on 8158  Progress: 7900 on 8158  Progress: 7901 on 8158  Progress: 7902 on 8158  Progress: 7903 on 8158  Progress: 7904 on 8158  Progress: 7905 on 8158  Progress: 7906 on 8158  Progress: 7907 on 8158  Progress: 7908 on 8158  Progress: 7909 on 8158  Progress: 7910 on 8158  Progress: 7911 on 8158  Progress: 7912 on 8158  Progress: 7913 on 8158  Progress: 7914 on 8158  Progress: 7915 on 8158  Progress: 7916 on 8158  Progress: 7917 on 8158  Progress: 7918 on 8158  Progress: 7919 on 8158  Progress: 7920 on 8158  Progress: 7921 on 8158  Progress: 7922 on 8158  Progress: 7923 on 8158  Progress: 7924 on 8158  Progress: 7925 on 8158  Progress: 7926 on 8158  Progress: 7927 on 8158  Progress: 7928 on 8158  Progress: 7929 on 8158  Progress: 7930 on 8158  Progress: 7931 on 8158  Progress: 7932 on 8158  Progress: 7933 on 8158  Progress: 7934 on 8158  Progress: 7935 on 8158  Progress: 7936 on 8158  Progress: 7937 on 8158  Progress: 7938 on 8158  Progress: 7939 on 8158  Progress: 7940 on 8158  Progress: 7941 on 8158  Progress: 7942 on 8158  Progress: 7943 on 8158  Progress: 7944 on 8158  Progress: 7945 on 8158  Progress: 7946 on 8158  Progress: 7947 on 8158  Progress: 7948 on 8158  Progress: 7949 on 8158  Progress: 7950 on 8158  Progress: 7951 on 8158  Progress: 7952 on 8158  Progress: 7953 on 8158  Progress: 7954 on 8158  Progress: 7955 on 8158  Progress: 7956 on 8158  Progress: 7957 on 8158  Progress: 7958 on 8158  Progress: 7959 on 8158  Progress: 7960 on 8158  Progress: 7961 on 8158  Progress: 7962 on 8158  Progress: 7963 on 8158  Progress: 7964 on 8158  Progress: 7965 on 8158  Progress: 7966 on 8158  Progress: 7967 on 8158  Progress: 7968 on 8158  Progress: 7969 on 8158  Progress: 7970 on 8158  Progress: 7971 on 8158  Progress: 7972 on 8158  Progress: 7973 on 8158  Progress: 7974 on 8158  Progress: 7975 on 8158  Progress: 7976 on 8158  Progress: 7977 on 8158  Progress: 7978 on 8158  Progress: 7979 on 8158  Progress: 7980 on 8158  Progress: 7981 on 8158  Progress: 7982 on 8158  Progress: 7983 on 8158  Progress: 7984 on 8158  Progress: 7985 on 8158  Progress: 7986 on 8158  Progress: 7987 on 8158  Progress: 7988 on 8158  Progress: 7989 on 8158  Progress: 7990 on 8158  Progress: 7991 on 8158  Progress: 7992 on 8158  Progress: 7993 on 8158  Progress: 7994 on 8158  Progress: 7995 on 8158  Progress: 7996 on 8158  Progress: 7997 on 8158  Progress: 7998 on 8158  Progress: 7999 on 8158  Progress: 8000 on 8158  Progress: 8001 on 8158  Progress: 8002 on 8158  Progress: 8003 on 8158  Progress: 8004 on 8158  Progress: 8005 on 8158  Progress: 8006 on 8158  Progress: 8007 on 8158  Progress: 8008 on 8158  Progress: 8009 on 8158  Progress: 8010 on 8158  Progress: 8011 on 8158  Progress: 8012 on 8158  Progress: 8013 on 8158  Progress: 8014 on 8158  Progress: 8015 on 8158  Progress: 8016 on 8158  Progress: 8017 on 8158  Progress: 8018 on 8158  Progress: 8019 on 8158  Progress: 8020 on 8158  Progress: 8021 on 8158  Progress: 8022 on 8158  Progress: 8023 on 8158  Progress: 8024 on 8158  Progress: 8025 on 8158  Progress: 8026 on 8158  Progress: 8027 on 8158  Progress: 8028 on 8158  Progress: 8029 on 8158  Progress: 8030 on 8158  Progress: 8031 on 8158  Progress: 8032 on 8158  Progress: 8033 on 8158  Progress: 8034 on 8158  Progress: 8035 on 8158  Progress: 8036 on 8158  Progress: 8037 on 8158  Progress: 8038 on 8158  Progress: 8039 on 8158  Progress: 8040 on 8158  Progress: 8041 on 8158  Progress: 8042 on 8158  Progress: 8043 on 8158  Progress: 8044 on 8158  Progress: 8045 on 8158  Progress: 8046 on 8158  Progress: 8047 on 8158  Progress: 8048 on 8158  Progress: 8049 on 8158  Progress: 8050 on 8158  Progress: 8051 on 8158  Progress: 8052 on 8158  Progress: 8053 on 8158  Progress: 8054 on 8158  Progress: 8055 on 8158  Progress: 8056 on 8158  Progress: 8057 on 8158  Progress: 8058 on 8158  Progress: 8059 on 8158  Progress: 8060 on 8158  Progress: 8061 on 8158  Progress: 8062 on 8158  Progress: 8063 on 8158  Progress: 8064 on 8158  Progress: 8065 on 8158  Progress: 8066 on 8158  Progress: 8067 on 8158  Progress: 8068 on 8158  Progress: 8069 on 8158  Progress: 8070 on 8158  Progress: 8071 on 8158  Progress: 8072 on 8158  Progress: 8073 on 8158  Progress: 8074 on 8158  Progress: 8075 on 8158  Progress: 8076 on 8158  Progress: 8077 on 8158  Progress: 8078 on 8158  Progress: 8079 on 8158  Progress: 8080 on 8158  Progress: 8081 on 8158  Progress: 8082 on 8158  Progress: 8083 on 8158  Progress: 8084 on 8158  Progress: 8085 on 8158  Progress: 8086 on 8158  Progress: 8087 on 8158  Progress: 8088 on 8158  Progress: 8089 on 8158  Progress: 8090 on 8158  Progress: 8091 on 8158  Progress: 8092 on 8158  Progress: 8093 on 8158  Progress: 8094 on 8158  Progress: 8095 on 8158  Progress: 8096 on 8158  Progress: 8097 on 8158  Progress: 8098 on 8158  Progress: 8099 on 8158  Progress: 8100 on 8158  Progress: 8101 on 8158  Progress: 8102 on 8158  Progress: 8103 on 8158  Progress: 8104 on 8158  Progress: 8105 on 8158  Progress: 8106 on 8158  Progress: 8107 on 8158  Progress: 8108 on 8158  Progress: 8109 on 8158  Progress: 8110 on 8158  Progress: 8111 on 8158  Progress: 8112 on 8158  Progress: 8113 on 8158  Progress: 8114 on 8158  Progress: 8115 on 8158  Progress: 8116 on 8158  Progress: 8117 on 8158  Progress: 8118 on 8158  Progress: 8119 on 8158  Progress: 8120 on 8158  Progress: 8121 on 8158  Progress: 8122 on 8158  Progress: 8123 on 8158  Progress: 8124 on 8158  Progress: 8125 on 8158  Progress: 8126 on 8158  Progress: 8127 on 8158  Progress: 8128 on 8158  Progress: 8129 on 8158  Progress: 8130 on 8158  Progress: 8131 on 8158  Progress: 8132 on 8158  Progress: 8133 on 8158  Progress: 8134 on 8158  Progress: 8135 on 8158  Progress: 8136 on 8158  Progress: 8137 on 8158  Progress: 8138 on 8158  Progress: 8139 on 8158  Progress: 8140 on 8158  Progress: 8141 on 8158  Progress: 8142 on 8158  Progress: 8143 on 8158  Progress: 8144 on 8158  Progress: 8145 on 8158  Progress: 8146 on 8158  Progress: 8147 on 8158  Progress: 8148 on 8158  Progress: 8149 on 8158  Progress: 8150 on 8158  Progress: 8151 on 8158  Progress: 8152 on 8158  Progress: 8153 on 8158  Progress: 8154 on 8158  Progress: 8155 on 8158  Progress: 8156 on 8158  Progress: 8157 on 8158  Progress: 8158 on 8158  
BN_autor <- BN_autor %>%
  mutate(ZA_ADNOTACJE = ifelse(czy_nazwisko==FALSE|czy_imie==FALSE,paste("UWAGA! Konflikt w danych osobowych w polach 100 i 245. Porównaj pole autor w formularzu z polem BN: ",X245c,sep = ""),NA)) %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,ZA_ADNOTACJE) %>%
  mutate(nazwa = str_replace_all(str_to_lower(paste(AM_NAZWISKO,AM_IMIE, sep = "")), "\\W", "")) %>%
  left_join(.,PBL_autorzy %>% select(AM_AUTOR_ID,AM_KRYPTONIM,AM_LICZBA_ZAPISOW,nazwa) %>% filter(is.na(AM_KRYPTONIM)),by="nazwa") %>%
  arrange(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,-AM_LICZBA_ZAPISOW)
BN_autor$id_grupy <- cumsum(!duplicated(BN_autor[1:3]))
BN_autor <- BN_autor[!duplicated(BN_autor$id_grupy),] %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,ZA_ADNOTACJE,AM_AUTOR_ID)

#3: tytuł
#pole 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
if("$n" %in% colnames(marc_field_245)) {
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " "),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = " "),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  unite("ZA_TYTUL",`$a`:`$p`,sep = " ",na.rm = TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
         ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
         ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
         ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
  select(ZA_UWAGI,ZA_TYTUL)
} else {
  marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  unite("ZA_TYTUL",`$a`:`$b`,sep = " ",na.rm = TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
         ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
         ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
         ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
  select(ZA_UWAGI,ZA_TYTUL)
}
#dopisanie gatunku do przedmiotowej na podstawie 655 i 650  
gatunki_pbl <- data.frame(gatunek = c("aforyzm", "album", "antologia", "autobiografia", "dziennik", "esej", "felieton", "inne", "kazanie", "list", "miniatura prozą", "opowiadanie", "poemat", "powieść", "proza", "proza poetycka", "reportaż", "rozmyślanie religijne", "rysunek, obraz", "scenariusz", "szkic", "tekst biblijny", "tekst dramatyczny", "dramat", "wiersz", "wspomnienia", "wypowiedź", "pamiętniki", "poezja", "literatura podróżnicza", "satyra", "piosenka"))

#dramat, pamiętniki, poezja, literatura podróżnicza, satyra, piosenka
gatunki_bn <- data %>%
  select(ZA_UWAGI,X655,X650)

gatunki_bn <- sqldf("select *
                    from gatunki_bn
                    left join gatunki_pbl on lower(gatunki_bn.X655) like '%'||gatunki_pbl.gatunek||'%'")
gatunki_bn <- sqldf("select *
                      from gatunki_bn
                      left join gatunki_pbl on lower(gatunki_bn.X650) like '%'||gatunki_pbl.gatunek||'%'")
colnames(gatunki_bn)[5] <- "gatunek2"
gatunki_bn <- gatunki_bn %>%
  mutate(gatunek = ifelse(is.na(gatunek)&!is.na(gatunek2),as.character(gatunek2),as.character(gatunek)),
         gatunek = ifelse(grepl("przypowieść",X655,ignore.case = TRUE)&!grepl("[^y]powieść",X655)&gatunek=="powieść","opowiadanie",as.character(gatunek))) %>%
  filter(!is.na(gatunek)) %>%
  select(ZA_UWAGI,gatunek) %>%
  mutate(gatunek = ifelse(gatunek=="dramat","tekst dramatyczny",
                          ifelse(gatunek=="pamiętniki","wspomnienia",
                                 ifelse(gatunek=="poezja","wiersz",
                                        ifelse(gatunek=="literatura podróżnicza","reportaż",
                                               ifelse(gatunek=="piosenka","wiersz",as.character(gatunek))))))) %>%
  group_by(ZA_UWAGI) %>%
  mutate(gatunek = paste(gatunek,collapse = ", ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(gatunek = gsub("(^.)","\\U\\1",perl = TRUE, gatunek))
#połączenie tytułu z gatunkiem
za_tytul <- marc_field_245 %>%
  left_join(.,gatunki_bn,by="ZA_UWAGI") %>% 
  mutate(gatunek = paste("[",gatunek,"]",sep = ""),
         gatunek = ifelse(gatunek=="[NA]",NA,as.character(gatunek))) %>% 
  unite("ZA_TYTUL", ZA_TYTUL:gatunek, sep = ". ",na.rm=TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\. \\.",". "),
         ZA_TYTUL = str_replace(ZA_TYTUL,"(\\!)(\\.)|(\\?)(\\.)","\\1"))

#4: tytuł oryginału
#pole 246
marc_field_246 <- data %>%
  select(ZA_UWAGI,X246)%>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"~"),
         X246=str_replace_all(X246,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X246",sep = "~",direction = "long") %>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"^\\|")) %>%
  mutate(indicator = str_replace_all(X246,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X246,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_246)[1]))
colnames(empty_table) <-subfield_list
marc_field_246<-cbind(marc_field_246,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_246$X246 <- str_replace(marc_field_246$X246,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_246[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_246$X246),str_replace_all(gsub(string,"\\3",marc_field_246$X246),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
if("$n" %in% colnames(marc_field_246)) {
marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = ""),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = ""),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$p`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
} else {
  marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$b`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
}

#pole 500
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"~"),
         X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  filter(grepl("oryg\\.\\:",X500)) %>%
  mutate(X500 = str_remove(`$a`,"^Tyt\\. oryg\\.: |^Tyt\\, oryg\\.: |^.*?tyt\\. oryg\\.: "),
         X500 = str_remove(X500, "\\s+\\/\\s{0,}$"),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = str_replace_all(X500,"\\.{3} \\.{3}","... "),
         X500 = str_remove(X500, "\\.$"),
         X500 = str_remove(X500,"(,{0,1} {0,1})\\d{4}.*$|(, t|. T)yt. oryg. cyklu:")) %>%
  select(ZA_UWAGI,X500)
#tytuł oryginału
za_tytul_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_246,by="ZA_UWAGI") %>%
  left_join(.,marc_field_500,by="ZA_UWAGI") %>%
  mutate(X500 = ifelse(is.na(X500),NA,
                       ifelse(grepl("oryg",X500),NA,as.character(X500))),
         X500 = ifelse(!is.na(X500)&grepl("\\. - ",X500),str_replace(X500,"(.*?)(\\. - .*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Na książce pseud",X500),str_replace(X500,"(.*?)(\\. Na książce pseud.*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Przekł\\. wg",X500),str_replace(X500,"(.*?)(\\. Przekł\\. wg.*$)","\\1"),as.character(X500)),
         ZA_TYTUL_ORYGINALU = ifelse(is.na(X246)&is.na(X500),NA,
                                     ifelse(!is.na(X500),as.character(X500),as.character(X246))),
         ZA_TYTUL_ORYGINALU = str_remove_all(ZA_TYTUL_ORYGINALU,'\\"')) %>%
  select(ZA_UWAGI,ZA_TYTUL_ORYGINALU)
#5: język oryginału
marc_field_041 <- data %>%
  select(ZA_UWAGI,X041)%>%
  filter(X041!="") %>%
  mutate(X041=str_replace_all(X041,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X041",sep = "~",direction = "long") %>%
  filter(X041!="") %>%
  mutate(X041=str_remove_all(X041,"^\\|")) %>%
  mutate(indicator = str_replace_all(X041,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X041,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_041)[1]))
colnames(empty_table) <-subfield_list
marc_field_041<-cbind(marc_field_041,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_041$X041 <- str_replace(marc_field_041$X041,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_041[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_041$X041),str_replace_all(gsub(string,"\\3",marc_field_041$X041),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
za_jezyk_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_041 %>% select(ZA_UWAGI,ZA_JEZYK_ORYGINALU = `$a`),by="ZA_UWAGI") %>%
  mutate(ZA_JEZYK_ORYGINALU = str_replace_all(ZA_JEZYK_ORYGINALU,"\\$a",",")) %>%
  unique()

#6: współtwórcy
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress:  1 on 10  Progress:  2 on 10  Progress:  3 on 10  Progress:  4 on 10  Progress:  5 on 10  Progress:  6 on 10  Progress:  7 on 10  Progress:  8 on 10  Progress:  9 on 10  Progress: 10 on 10  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress:  1 on 10  Progress:  2 on 10  Progress:  3 on 10  Progress:  4 on 10  Progress:  5 on 10  Progress:  6 on 10  Progress:  7 on 10  Progress:  8 on 10  Progress:  9 on 10  Progress: 10 on 10  
BN_wspoltworca <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         ws_prosty = str_replace_all(str_to_lower(osoba), "\\W", ""),
         fu_prosta = str_replace_all(str_to_lower(funkcja), "\\W", "")) %>%
  left_join(.,PBL_wspoltworcy %>% select(OS_OSOBA_ID,OS_LICZBA_ZAPISOW,nazwa_prosta),by=c("ws_prosty"="nazwa_prosta")) %>%
  arrange(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,-OS_LICZBA_ZAPISOW)
BN_wspoltworca$id_grupy <- cumsum(!duplicated(BN_wspoltworca[1:2]))
BN_wspoltworca <- BN_wspoltworca[!duplicated(BN_wspoltworca$id_grupy),] %>%
  left_join(.,PBL_funkcje,by=c("fu_prosta"="nazwa")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL",NA,as.character(fo_symbol))) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja)

#tutaj przeszukać X245 i znaleźć błędy współtwórców
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`)

BN_wspoltworca <- BN_wspoltworca %>%
  left_join(.,marc_field_245,by="ZA_UWAGI")

x <- 1:lengths(BN_wspoltworca[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  BN_wspoltworca$czy_nazwisko[i] <- str_detect(BN_wspoltworca$X245c[i],BN_wspoltworca$OS_NAZWISKO[i])
  BN_wspoltworca$czy_imie[i] <- grepl(BN_wspoltworca$OS_IMIE[i],BN_wspoltworca$X245c[i])
}
Progress:    1 on 5896  Progress:    2 on 5896  Progress:    3 on 5896  Progress:    4 on 5896  Progress:    5 on 5896  Progress:    6 on 5896  Progress:    7 on 5896  Progress:    8 on 5896  Progress:    9 on 5896  Progress:   10 on 5896  Progress:   11 on 5896  Progress:   12 on 5896  Progress:   13 on 5896  Progress:   14 on 5896  Progress:   15 on 5896  Progress:   16 on 5896  Progress:   17 on 5896  Progress:   18 on 5896  Progress:   19 on 5896  Progress:   20 on 5896  Progress:   21 on 5896  Progress:   22 on 5896  Progress:   23 on 5896  Progress:   24 on 5896  Progress:   25 on 5896  Progress:   26 on 5896  Progress:   27 on 5896  Progress:   28 on 5896  Progress:   29 on 5896  Progress:   30 on 5896  Progress:   31 on 5896  Progress:   32 on 5896  Progress:   33 on 5896  Progress:   34 on 5896  Progress:   35 on 5896  Progress:   36 on 5896  Progress:   37 on 5896  Progress:   38 on 5896  Progress:   39 on 5896  Progress:   40 on 5896  Progress:   41 on 5896  Progress:   42 on 5896  Progress:   43 on 5896  Progress:   44 on 5896  Progress:   45 on 5896  Progress:   46 on 5896  Progress:   47 on 5896  Progress:   48 on 5896  Progress:   49 on 5896  Progress:   50 on 5896  Progress:   51 on 5896  Progress:   52 on 5896  Progress:   53 on 5896  Progress:   54 on 5896  Progress:   55 on 5896  Progress:   56 on 5896  Progress:   57 on 5896  Progress:   58 on 5896  Progress:   59 on 5896  Progress:   60 on 5896  Progress:   61 on 5896  Progress:   62 on 5896  Progress:   63 on 5896  Progress:   64 on 5896  Progress:   65 on 5896  Progress:   66 on 5896  Progress:   67 on 5896  Progress:   68 on 5896  Progress:   69 on 5896  Progress:   70 on 5896  Progress:   71 on 5896  Progress:   72 on 5896  Progress:   73 on 5896  Progress:   74 on 5896  Progress:   75 on 5896  Progress:   76 on 5896  Progress:   77 on 5896  Progress:   78 on 5896  Progress:   79 on 5896  Progress:   80 on 5896  Progress:   81 on 5896  Progress:   82 on 5896  Progress:   83 on 5896  Progress:   84 on 5896  Progress:   85 on 5896  Progress:   86 on 5896  Progress:   87 on 5896  Progress:   88 on 5896  Progress:   89 on 5896  Progress:   90 on 5896  Progress:   91 on 5896  Progress:   92 on 5896  Progress:   93 on 5896  Progress:   94 on 5896  Progress:   95 on 5896  Progress:   96 on 5896  Progress:   97 on 5896  Progress:   98 on 5896  Progress:   99 on 5896  Progress:  100 on 5896  Progress:  101 on 5896  Progress:  102 on 5896  Progress:  103 on 5896  Progress:  104 on 5896  Progress:  105 on 5896  Progress:  106 on 5896  Progress:  107 on 5896  Progress:  108 on 5896  Progress:  109 on 5896  Progress:  110 on 5896  Progress:  111 on 5896  Progress:  112 on 5896  Progress:  113 on 5896  Progress:  114 on 5896  Progress:  115 on 5896  Progress:  116 on 5896  Progress:  117 on 5896  Progress:  118 on 5896  Progress:  119 on 5896  Progress:  120 on 5896  Progress:  121 on 5896  Progress:  122 on 5896  Progress:  123 on 5896  Progress:  124 on 5896  Progress:  125 on 5896  Progress:  126 on 5896  Progress:  127 on 5896  Progress:  128 on 5896  Progress:  129 on 5896  Progress:  130 on 5896  Progress:  131 on 5896  Progress:  132 on 5896  Progress:  133 on 5896  Progress:  134 on 5896  Progress:  135 on 5896  Progress:  136 on 5896  Progress:  137 on 5896  Progress:  138 on 5896  Progress:  139 on 5896  Progress:  140 on 5896  Progress:  141 on 5896  Progress:  142 on 5896  Progress:  143 on 5896  Progress:  144 on 5896  Progress:  145 on 5896  Progress:  146 on 5896  Progress:  147 on 5896  Progress:  148 on 5896  Progress:  149 on 5896  Progress:  150 on 5896  Progress:  151 on 5896  Progress:  152 on 5896  Progress:  153 on 5896  Progress:  154 on 5896  Progress:  155 on 5896  Progress:  156 on 5896  Progress:  157 on 5896  Progress:  158 on 5896  Progress:  159 on 5896  Progress:  160 on 5896  Progress:  161 on 5896  Progress:  162 on 5896  Progress:  163 on 5896  Progress:  164 on 5896  Progress:  165 on 5896  Progress:  166 on 5896  Progress:  167 on 5896  Progress:  168 on 5896  Progress:  169 on 5896  Progress:  170 on 5896  Progress:  171 on 5896  Progress:  172 on 5896  Progress:  173 on 5896  Progress:  174 on 5896  Progress:  175 on 5896  Progress:  176 on 5896  Progress:  177 on 5896  Progress:  178 on 5896  Progress:  179 on 5896  Progress:  180 on 5896  Progress:  181 on 5896  Progress:  182 on 5896  Progress:  183 on 5896  Progress:  184 on 5896  Progress:  185 on 5896  Progress:  186 on 5896  Progress:  187 on 5896  Progress:  188 on 5896  Progress:  189 on 5896  Progress:  190 on 5896  Progress:  191 on 5896  Progress:  192 on 5896  Progress:  193 on 5896  Progress:  194 on 5896  Progress:  195 on 5896  Progress:  196 on 5896  Progress:  197 on 5896  Progress:  198 on 5896  Progress:  199 on 5896  Progress:  200 on 5896  Progress:  201 on 5896  Progress:  202 on 5896  Progress:  203 on 5896  Progress:  204 on 5896  Progress:  205 on 5896  Progress:  206 on 5896  Progress:  207 on 5896  Progress:  208 on 5896  Progress:  209 on 5896  Progress:  210 on 5896  Progress:  211 on 5896  Progress:  212 on 5896  Progress:  213 on 5896  Progress:  214 on 5896  Progress:  215 on 5896  Progress:  216 on 5896  Progress:  217 on 5896  Progress:  218 on 5896  Progress:  219 on 5896  Progress:  220 on 5896  Progress:  221 on 5896  Progress:  222 on 5896  Progress:  223 on 5896  Progress:  224 on 5896  Progress:  225 on 5896  Progress:  226 on 5896  Progress:  227 on 5896  Progress:  228 on 5896  Progress:  229 on 5896  Progress:  230 on 5896  Progress:  231 on 5896  Progress:  232 on 5896  Progress:  233 on 5896  Progress:  234 on 5896  Progress:  235 on 5896  Progress:  236 on 5896  Progress:  237 on 5896  Progress:  238 on 5896  Progress:  239 on 5896  Progress:  240 on 5896  Progress:  241 on 5896  Progress:  242 on 5896  Progress:  243 on 5896  Progress:  244 on 5896  Progress:  245 on 5896  Progress:  246 on 5896  Progress:  247 on 5896  Progress:  248 on 5896  Progress:  249 on 5896  Progress:  250 on 5896  Progress:  251 on 5896  Progress:  252 on 5896  Progress:  253 on 5896  Progress:  254 on 5896  Progress:  255 on 5896  Progress:  256 on 5896  Progress:  257 on 5896  Progress:  258 on 5896  Progress:  259 on 5896  Progress:  260 on 5896  Progress:  261 on 5896  Progress:  262 on 5896  Progress:  263 on 5896  Progress:  264 on 5896  Progress:  265 on 5896  Progress:  266 on 5896  Progress:  267 on 5896  Progress:  268 on 5896  Progress:  269 on 5896  Progress:  270 on 5896  Progress:  271 on 5896  Progress:  272 on 5896  Progress:  273 on 5896  Progress:  274 on 5896  Progress:  275 on 5896  Progress:  276 on 5896  Progress:  277 on 5896  Progress:  278 on 5896  Progress:  279 on 5896  Progress:  280 on 5896  Progress:  281 on 5896  Progress:  282 on 5896  Progress:  283 on 5896  Progress:  284 on 5896  Progress:  285 on 5896  Progress:  286 on 5896  Progress:  287 on 5896  Progress:  288 on 5896  Progress:  289 on 5896  Progress:  290 on 5896  Progress:  291 on 5896  Progress:  292 on 5896  Progress:  293 on 5896  Progress:  294 on 5896  Progress:  295 on 5896  Progress:  296 on 5896  Progress:  297 on 5896  Progress:  298 on 5896  Progress:  299 on 5896  Progress:  300 on 5896  Progress:  301 on 5896  Progress:  302 on 5896  Progress:  303 on 5896  Progress:  304 on 5896  Progress:  305 on 5896  Progress:  306 on 5896  Progress:  307 on 5896  Progress:  308 on 5896  Progress:  309 on 5896  Progress:  310 on 5896  Progress:  311 on 5896  Progress:  312 on 5896  Progress:  313 on 5896  Progress:  314 on 5896  Progress:  315 on 5896  Progress:  316 on 5896  Progress:  317 on 5896  Progress:  318 on 5896  Progress:  319 on 5896  Progress:  320 on 5896  Progress:  321 on 5896  Progress:  322 on 5896  Progress:  323 on 5896  Progress:  324 on 5896  Progress:  325 on 5896  Progress:  326 on 5896  Progress:  327 on 5896  Progress:  328 on 5896  Progress:  329 on 5896  Progress:  330 on 5896  Progress:  331 on 5896  Progress:  332 on 5896  Progress:  333 on 5896  Progress:  334 on 5896  Progress:  335 on 5896  Progress:  336 on 5896  Progress:  337 on 5896  Progress:  338 on 5896  Progress:  339 on 5896  Progress:  340 on 5896  Progress:  341 on 5896  Progress:  342 on 5896  Progress:  343 on 5896  Progress:  344 on 5896  Progress:  345 on 5896  Progress:  346 on 5896  Progress:  347 on 5896  Progress:  348 on 5896  Progress:  349 on 5896  Progress:  350 on 5896  Progress:  351 on 5896  Progress:  352 on 5896  Progress:  353 on 5896  Progress:  354 on 5896  Progress:  355 on 5896  Progress:  356 on 5896  Progress:  357 on 5896  Progress:  358 on 5896  Progress:  359 on 5896  Progress:  360 on 5896  Progress:  361 on 5896  Progress:  362 on 5896  Progress:  363 on 5896  Progress:  364 on 5896  Progress:  365 on 5896  Progress:  366 on 5896  Progress:  367 on 5896  Progress:  368 on 5896  Progress:  369 on 5896  Progress:  370 on 5896  Progress:  371 on 5896  Progress:  372 on 5896  Progress:  373 on 5896  Progress:  374 on 5896  Progress:  375 on 5896  Progress:  376 on 5896  Progress:  377 on 5896  Progress:  378 on 5896  Progress:  379 on 5896  Progress:  380 on 5896  Progress:  381 on 5896  Progress:  382 on 5896  Progress:  383 on 5896  Progress:  384 on 5896  Progress:  385 on 5896  Progress:  386 on 5896  Progress:  387 on 5896  Progress:  388 on 5896  Progress:  389 on 5896  Progress:  390 on 5896  Progress:  391 on 5896  Progress:  392 on 5896  Progress:  393 on 5896  Progress:  394 on 5896  Progress:  395 on 5896  Progress:  396 on 5896  Progress:  397 on 5896  Progress:  398 on 5896  Progress:  399 on 5896  Progress:  400 on 5896  Progress:  401 on 5896  Progress:  402 on 5896  Progress:  403 on 5896  Progress:  404 on 5896  Progress:  405 on 5896  Progress:  406 on 5896  Progress:  407 on 5896  Progress:  408 on 5896  Progress:  409 on 5896  Progress:  410 on 5896  Progress:  411 on 5896  Progress:  412 on 5896  Progress:  413 on 5896  Progress:  414 on 5896  Progress:  415 on 5896  Progress:  416 on 5896  Progress:  417 on 5896  Progress:  418 on 5896  Progress:  419 on 5896  Progress:  420 on 5896  Progress:  421 on 5896  Progress:  422 on 5896  Progress:  423 on 5896  Progress:  424 on 5896  Progress:  425 on 5896  Progress:  426 on 5896  Progress:  427 on 5896  Progress:  428 on 5896  Progress:  429 on 5896  Progress:  430 on 5896  Progress:  431 on 5896  Progress:  432 on 5896  Progress:  433 on 5896  Progress:  434 on 5896  Progress:  435 on 5896  Progress:  436 on 5896  Progress:  437 on 5896  Progress:  438 on 5896  Progress:  439 on 5896  Progress:  440 on 5896  Progress:  441 on 5896  Progress:  442 on 5896  Progress:  443 on 5896  Progress:  444 on 5896  Progress:  445 on 5896  Progress:  446 on 5896  Progress:  447 on 5896  Progress:  448 on 5896  Progress:  449 on 5896  Progress:  450 on 5896  Progress:  451 on 5896  Progress:  452 on 5896  Progress:  453 on 5896  Progress:  454 on 5896  Progress:  455 on 5896  Progress:  456 on 5896  Progress:  457 on 5896  Progress:  458 on 5896  Progress:  459 on 5896  Progress:  460 on 5896  Progress:  461 on 5896  Progress:  462 on 5896  Progress:  463 on 5896  Progress:  464 on 5896  Progress:  465 on 5896  Progress:  466 on 5896  Progress:  467 on 5896  Progress:  468 on 5896  Progress:  469 on 5896  Progress:  470 on 5896  Progress:  471 on 5896  Progress:  472 on 5896  Progress:  473 on 5896  Progress:  474 on 5896  Progress:  475 on 5896  Progress:  476 on 5896  Progress:  477 on 5896  Progress:  478 on 5896  Progress:  479 on 5896  Progress:  480 on 5896  Progress:  481 on 5896  Progress:  482 on 5896  Progress:  483 on 5896  Progress:  484 on 5896  Progress:  485 on 5896  Progress:  486 on 5896  Progress:  487 on 5896  Progress:  488 on 5896  Progress:  489 on 5896  Progress:  490 on 5896  Progress:  491 on 5896  Progress:  492 on 5896  Progress:  493 on 5896  Progress:  494 on 5896  Progress:  495 on 5896  Progress:  496 on 5896  Progress:  497 on 5896  Progress:  498 on 5896  Progress:  499 on 5896  Progress:  500 on 5896  Progress:  501 on 5896  Progress:  502 on 5896  Progress:  503 on 5896  Progress:  504 on 5896  Progress:  505 on 5896  Progress:  506 on 5896  Progress:  507 on 5896  Progress:  508 on 5896  Progress:  509 on 5896  Progress:  510 on 5896  Progress:  511 on 5896  Progress:  512 on 5896  Progress:  513 on 5896  Progress:  514 on 5896  Progress:  515 on 5896  Progress:  516 on 5896  Progress:  517 on 5896  Progress:  518 on 5896  Progress:  519 on 5896  Progress:  520 on 5896  Progress:  521 on 5896  Progress:  522 on 5896  Progress:  523 on 5896  Progress:  524 on 5896  Progress:  525 on 5896  Progress:  526 on 5896  Progress:  527 on 5896  Progress:  528 on 5896  Progress:  529 on 5896  Progress:  530 on 5896  Progress:  531 on 5896  Progress:  532 on 5896  Progress:  533 on 5896  Progress:  534 on 5896  Progress:  535 on 5896  Progress:  536 on 5896  Progress:  537 on 5896  Progress:  538 on 5896  Progress:  539 on 5896  Progress:  540 on 5896  Progress:  541 on 5896  Progress:  542 on 5896  Progress:  543 on 5896  Progress:  544 on 5896  Progress:  545 on 5896  Progress:  546 on 5896  Progress:  547 on 5896  Progress:  548 on 5896  Progress:  549 on 5896  Progress:  550 on 5896  Progress:  551 on 5896  Progress:  552 on 5896  Progress:  553 on 5896  Progress:  554 on 5896  Progress:  555 on 5896  Progress:  556 on 5896  Progress:  557 on 5896  Progress:  558 on 5896  Progress:  559 on 5896  Progress:  560 on 5896  Progress:  561 on 5896  Progress:  562 on 5896  Progress:  563 on 5896  Progress:  564 on 5896  Progress:  565 on 5896  Progress:  566 on 5896  Progress:  567 on 5896  Progress:  568 on 5896  Progress:  569 on 5896  Progress:  570 on 5896  Progress:  571 on 5896  Progress:  572 on 5896  Progress:  573 on 5896  Progress:  574 on 5896  Progress:  575 on 5896  Progress:  576 on 5896  Progress:  577 on 5896  Progress:  578 on 5896  Progress:  579 on 5896  Progress:  580 on 5896  Progress:  581 on 5896  Progress:  582 on 5896  Progress:  583 on 5896  Progress:  584 on 5896  Progress:  585 on 5896  Progress:  586 on 5896  Progress:  587 on 5896  Progress:  588 on 5896  Progress:  589 on 5896  Progress:  590 on 5896  Progress:  591 on 5896  Progress:  592 on 5896  Progress:  593 on 5896  Progress:  594 on 5896  Progress:  595 on 5896  Progress:  596 on 5896  Progress:  597 on 5896  Progress:  598 on 5896  Progress:  599 on 5896  Progress:  600 on 5896  Progress:  601 on 5896  Progress:  602 on 5896  Progress:  603 on 5896  Progress:  604 on 5896  Progress:  605 on 5896  Progress:  606 on 5896  Progress:  607 on 5896  Progress:  608 on 5896  Progress:  609 on 5896  Progress:  610 on 5896  Progress:  611 on 5896  Progress:  612 on 5896  Progress:  613 on 5896  Progress:  614 on 5896  Progress:  615 on 5896  Progress:  616 on 5896  Progress:  617 on 5896  Progress:  618 on 5896  Progress:  619 on 5896  Progress:  620 on 5896  Progress:  621 on 5896  Progress:  622 on 5896  Progress:  623 on 5896  Progress:  624 on 5896  Progress:  625 on 5896  Progress:  626 on 5896  Progress:  627 on 5896  Progress:  628 on 5896  Progress:  629 on 5896  Progress:  630 on 5896  Progress:  631 on 5896  Progress:  632 on 5896  Progress:  633 on 5896  Progress:  634 on 5896  Progress:  635 on 5896  Progress:  636 on 5896  Progress:  637 on 5896  Progress:  638 on 5896  Progress:  639 on 5896  Progress:  640 on 5896  Progress:  641 on 5896  Progress:  642 on 5896  Progress:  643 on 5896  Progress:  644 on 5896  Progress:  645 on 5896  Progress:  646 on 5896  Progress:  647 on 5896  Progress:  648 on 5896  Progress:  649 on 5896  Progress:  650 on 5896  Progress:  651 on 5896  Progress:  652 on 5896  Progress:  653 on 5896  Progress:  654 on 5896  Progress:  655 on 5896  Progress:  656 on 5896  Progress:  657 on 5896  Progress:  658 on 5896  Progress:  659 on 5896  Progress:  660 on 5896  Progress:  661 on 5896  Progress:  662 on 5896  Progress:  663 on 5896  Progress:  664 on 5896  Progress:  665 on 5896  Progress:  666 on 5896  Progress:  667 on 5896  Progress:  668 on 5896  Progress:  669 on 5896  Progress:  670 on 5896  Progress:  671 on 5896  Progress:  672 on 5896  Progress:  673 on 5896  Progress:  674 on 5896  Progress:  675 on 5896  Progress:  676 on 5896  Progress:  677 on 5896  Progress:  678 on 5896  Progress:  679 on 5896  Progress:  680 on 5896  Progress:  681 on 5896  Progress:  682 on 5896  Progress:  683 on 5896  Progress:  684 on 5896  Progress:  685 on 5896  Progress:  686 on 5896  Progress:  687 on 5896  Progress:  688 on 5896  Progress:  689 on 5896  Progress:  690 on 5896  Progress:  691 on 5896  Progress:  692 on 5896  Progress:  693 on 5896  Progress:  694 on 5896  Progress:  695 on 5896  Progress:  696 on 5896  Progress:  697 on 5896  Progress:  698 on 5896  Progress:  699 on 5896  Progress:  700 on 5896  Progress:  701 on 5896  Progress:  702 on 5896  Progress:  703 on 5896  Progress:  704 on 5896  Progress:  705 on 5896  Progress:  706 on 5896  Progress:  707 on 5896  Progress:  708 on 5896  Progress:  709 on 5896  Progress:  710 on 5896  Progress:  711 on 5896  Progress:  712 on 5896  Progress:  713 on 5896  Progress:  714 on 5896  Progress:  715 on 5896  Progress:  716 on 5896  Progress:  717 on 5896  Progress:  718 on 5896  Progress:  719 on 5896  Progress:  720 on 5896  Progress:  721 on 5896  Progress:  722 on 5896  Progress:  723 on 5896  Progress:  724 on 5896  Progress:  725 on 5896  Progress:  726 on 5896  Progress:  727 on 5896  Progress:  728 on 5896  Progress:  729 on 5896  Progress:  730 on 5896  Progress:  731 on 5896  Progress:  732 on 5896  Progress:  733 on 5896  Progress:  734 on 5896  Progress:  735 on 5896  Progress:  736 on 5896  Progress:  737 on 5896  Progress:  738 on 5896  Progress:  739 on 5896  Progress:  740 on 5896  Progress:  741 on 5896  Progress:  742 on 5896  Progress:  743 on 5896  Progress:  744 on 5896  Progress:  745 on 5896  Progress:  746 on 5896  Progress:  747 on 5896  Progress:  748 on 5896  Progress:  749 on 5896  Progress:  750 on 5896  Progress:  751 on 5896  Progress:  752 on 5896  Progress:  753 on 5896  Progress:  754 on 5896  Progress:  755 on 5896  Progress:  756 on 5896  Progress:  757 on 5896  Progress:  758 on 5896  Progress:  759 on 5896  Progress:  760 on 5896  Progress:  761 on 5896  Progress:  762 on 5896  Progress:  763 on 5896  Progress:  764 on 5896  Progress:  765 on 5896  Progress:  766 on 5896  Progress:  767 on 5896  Progress:  768 on 5896  Progress:  769 on 5896  Progress:  770 on 5896  Progress:  771 on 5896  Progress:  772 on 5896  Progress:  773 on 5896  Progress:  774 on 5896  Progress:  775 on 5896  Progress:  776 on 5896  Progress:  777 on 5896  Progress:  778 on 5896  Progress:  779 on 5896  Progress:  780 on 5896  Progress:  781 on 5896  Progress:  782 on 5896  Progress:  783 on 5896  Progress:  784 on 5896  Progress:  785 on 5896  Progress:  786 on 5896  Progress:  787 on 5896  Progress:  788 on 5896  Progress:  789 on 5896  Progress:  790 on 5896  Progress:  791 on 5896  Progress:  792 on 5896  Progress:  793 on 5896  Progress:  794 on 5896  Progress:  795 on 5896  Progress:  796 on 5896  Progress:  797 on 5896  Progress:  798 on 5896  Progress:  799 on 5896  Progress:  800 on 5896  Progress:  801 on 5896  Progress:  802 on 5896  Progress:  803 on 5896  Progress:  804 on 5896  Progress:  805 on 5896  Progress:  806 on 5896  Progress:  807 on 5896  Progress:  808 on 5896  Progress:  809 on 5896  Progress:  810 on 5896  Progress:  811 on 5896  Progress:  812 on 5896  Progress:  813 on 5896  Progress:  814 on 5896  Progress:  815 on 5896  Progress:  816 on 5896  Progress:  817 on 5896  Progress:  818 on 5896  Progress:  819 on 5896  Progress:  820 on 5896  Progress:  821 on 5896  Progress:  822 on 5896  Progress:  823 on 5896  Progress:  824 on 5896  Progress:  825 on 5896  Progress:  826 on 5896  Progress:  827 on 5896  Progress:  828 on 5896  Progress:  829 on 5896  Progress:  830 on 5896  Progress:  831 on 5896  Progress:  832 on 5896  Progress:  833 on 5896  Progress:  834 on 5896  Progress:  835 on 5896  Progress:  836 on 5896  Progress:  837 on 5896  Progress:  838 on 5896  Progress:  839 on 5896  Progress:  840 on 5896  Progress:  841 on 5896  Progress:  842 on 5896  Progress:  843 on 5896  Progress:  844 on 5896  Progress:  845 on 5896  Progress:  846 on 5896  Progress:  847 on 5896  Progress:  848 on 5896  Progress:  849 on 5896  Progress:  850 on 5896  Progress:  851 on 5896  Progress:  852 on 5896  Progress:  853 on 5896  Progress:  854 on 5896  Progress:  855 on 5896  Progress:  856 on 5896  Progress:  857 on 5896  Progress:  858 on 5896  Progress:  859 on 5896  Progress:  860 on 5896  Progress:  861 on 5896  Progress:  862 on 5896  Progress:  863 on 5896  Progress:  864 on 5896  Progress:  865 on 5896  Progress:  866 on 5896  Progress:  867 on 5896  Progress:  868 on 5896  Progress:  869 on 5896  Progress:  870 on 5896  Progress:  871 on 5896  Progress:  872 on 5896  Progress:  873 on 5896  Progress:  874 on 5896  Progress:  875 on 5896  Progress:  876 on 5896  Progress:  877 on 5896  Progress:  878 on 5896  Progress:  879 on 5896  Progress:  880 on 5896  Progress:  881 on 5896  Progress:  882 on 5896  Progress:  883 on 5896  Progress:  884 on 5896  Progress:  885 on 5896  Progress:  886 on 5896  Progress:  887 on 5896  Progress:  888 on 5896  Progress:  889 on 5896  Progress:  890 on 5896  Progress:  891 on 5896  Progress:  892 on 5896  Progress:  893 on 5896  Progress:  894 on 5896  Progress:  895 on 5896  Progress:  896 on 5896  Progress:  897 on 5896  Progress:  898 on 5896  Progress:  899 on 5896  Progress:  900 on 5896  Progress:  901 on 5896  Progress:  902 on 5896  Progress:  903 on 5896  Progress:  904 on 5896  Progress:  905 on 5896  Progress:  906 on 5896  Progress:  907 on 5896  Progress:  908 on 5896  Progress:  909 on 5896  Progress:  910 on 5896  Progress:  911 on 5896  Progress:  912 on 5896  Progress:  913 on 5896  Progress:  914 on 5896  Progress:  915 on 5896  Progress:  916 on 5896  Progress:  917 on 5896  Progress:  918 on 5896  Progress:  919 on 5896  Progress:  920 on 5896  Progress:  921 on 5896  Progress:  922 on 5896  Progress:  923 on 5896  Progress:  924 on 5896  Progress:  925 on 5896  Progress:  926 on 5896  Progress:  927 on 5896  Progress:  928 on 5896  Progress:  929 on 5896  Progress:  930 on 5896  Progress:  931 on 5896  Progress:  932 on 5896  Progress:  933 on 5896  Progress:  934 on 5896  Progress:  935 on 5896  Progress:  936 on 5896  Progress:  937 on 5896  Progress:  938 on 5896  Progress:  939 on 5896  Progress:  940 on 5896  Progress:  941 on 5896  Progress:  942 on 5896  Progress:  943 on 5896  Progress:  944 on 5896  Progress:  945 on 5896  Progress:  946 on 5896  Progress:  947 on 5896  Progress:  948 on 5896  Progress:  949 on 5896  Progress:  950 on 5896  Progress:  951 on 5896  Progress:  952 on 5896  Progress:  953 on 5896  Progress:  954 on 5896  Progress:  955 on 5896  Progress:  956 on 5896  Progress:  957 on 5896  Progress:  958 on 5896  Progress:  959 on 5896  Progress:  960 on 5896  Progress:  961 on 5896  Progress:  962 on 5896  Progress:  963 on 5896  Progress:  964 on 5896  Progress:  965 on 5896  Progress:  966 on 5896  Progress:  967 on 5896  Progress:  968 on 5896  Progress:  969 on 5896  Progress:  970 on 5896  Progress:  971 on 5896  Progress:  972 on 5896  Progress:  973 on 5896  Progress:  974 on 5896  Progress:  975 on 5896  Progress:  976 on 5896  Progress:  977 on 5896  Progress:  978 on 5896  Progress:  979 on 5896  Progress:  980 on 5896  Progress:  981 on 5896  Progress:  982 on 5896  Progress:  983 on 5896  Progress:  984 on 5896  Progress:  985 on 5896  Progress:  986 on 5896  Progress:  987 on 5896  Progress:  988 on 5896  Progress:  989 on 5896  Progress:  990 on 5896  Progress:  991 on 5896  Progress:  992 on 5896  Progress:  993 on 5896  Progress:  994 on 5896  Progress:  995 on 5896  Progress:  996 on 5896  Progress:  997 on 5896  Progress:  998 on 5896  Progress:  999 on 5896  Progress: 1000 on 5896  Progress: 1001 on 5896  Progress: 1002 on 5896  Progress: 1003 on 5896  Progress: 1004 on 5896  Progress: 1005 on 5896  Progress: 1006 on 5896  Progress: 1007 on 5896  Progress: 1008 on 5896  Progress: 1009 on 5896  Progress: 1010 on 5896  Progress: 1011 on 5896  Progress: 1012 on 5896  Progress: 1013 on 5896  Progress: 1014 on 5896  Progress: 1015 on 5896  Progress: 1016 on 5896  Progress: 1017 on 5896  Progress: 1018 on 5896  Progress: 1019 on 5896  Progress: 1020 on 5896  Progress: 1021 on 5896  Progress: 1022 on 5896  Progress: 1023 on 5896  Progress: 1024 on 5896  Progress: 1025 on 5896  Progress: 1026 on 5896  Progress: 1027 on 5896  Progress: 1028 on 5896  Progress: 1029 on 5896  Progress: 1030 on 5896  Progress: 1031 on 5896  Progress: 1032 on 5896  Progress: 1033 on 5896  Progress: 1034 on 5896  Progress: 1035 on 5896  Progress: 1036 on 5896  Progress: 1037 on 5896  Progress: 1038 on 5896  Progress: 1039 on 5896  Progress: 1040 on 5896  Progress: 1041 on 5896  Progress: 1042 on 5896  Progress: 1043 on 5896  Progress: 1044 on 5896  Progress: 1045 on 5896  Progress: 1046 on 5896  Progress: 1047 on 5896  Progress: 1048 on 5896  Progress: 1049 on 5896  Progress: 1050 on 5896  Progress: 1051 on 5896  Progress: 1052 on 5896  Progress: 1053 on 5896  Progress: 1054 on 5896  Progress: 1055 on 5896  Progress: 1056 on 5896  Progress: 1057 on 5896  Progress: 1058 on 5896  Progress: 1059 on 5896  Progress: 1060 on 5896  Progress: 1061 on 5896  Progress: 1062 on 5896  Progress: 1063 on 5896  Progress: 1064 on 5896  Progress: 1065 on 5896  Progress: 1066 on 5896  Progress: 1067 on 5896  Progress: 1068 on 5896  Progress: 1069 on 5896  Progress: 1070 on 5896  Progress: 1071 on 5896  Progress: 1072 on 5896  Progress: 1073 on 5896  Progress: 1074 on 5896  Progress: 1075 on 5896  Progress: 1076 on 5896  Progress: 1077 on 5896  Progress: 1078 on 5896  Progress: 1079 on 5896  Progress: 1080 on 5896  Progress: 1081 on 5896  Progress: 1082 on 5896  Progress: 1083 on 5896  Progress: 1084 on 5896  Progress: 1085 on 5896  Progress: 1086 on 5896  Progress: 1087 on 5896  Progress: 1088 on 5896  Progress: 1089 on 5896  Progress: 1090 on 5896  Progress: 1091 on 5896  Progress: 1092 on 5896  Progress: 1093 on 5896  Progress: 1094 on 5896  Progress: 1095 on 5896  Progress: 1096 on 5896  Progress: 1097 on 5896  Progress: 1098 on 5896  Progress: 1099 on 5896  Progress: 1100 on 5896  Progress: 1101 on 5896  Progress: 1102 on 5896  Progress: 1103 on 5896  Progress: 1104 on 5896  Progress: 1105 on 5896  Progress: 1106 on 5896  Progress: 1107 on 5896  Progress: 1108 on 5896  Progress: 1109 on 5896  Progress: 1110 on 5896  Progress: 1111 on 5896  Progress: 1112 on 5896  Progress: 1113 on 5896  Progress: 1114 on 5896  Progress: 1115 on 5896  Progress: 1116 on 5896  Progress: 1117 on 5896  Progress: 1118 on 5896  Progress: 1119 on 5896  Progress: 1120 on 5896  Progress: 1121 on 5896  Progress: 1122 on 5896  Progress: 1123 on 5896  Progress: 1124 on 5896  Progress: 1125 on 5896  Progress: 1126 on 5896  Progress: 1127 on 5896  Progress: 1128 on 5896  Progress: 1129 on 5896  Progress: 1130 on 5896  Progress: 1131 on 5896  Progress: 1132 on 5896  Progress: 1133 on 5896  Progress: 1134 on 5896  Progress: 1135 on 5896  Progress: 1136 on 5896  Progress: 1137 on 5896  Progress: 1138 on 5896  Progress: 1139 on 5896  Progress: 1140 on 5896  Progress: 1141 on 5896  Progress: 1142 on 5896  Progress: 1143 on 5896  Progress: 1144 on 5896  Progress: 1145 on 5896  Progress: 1146 on 5896  Progress: 1147 on 5896  Progress: 1148 on 5896  Progress: 1149 on 5896  Progress: 1150 on 5896  Progress: 1151 on 5896  Progress: 1152 on 5896  Progress: 1153 on 5896  Progress: 1154 on 5896  Progress: 1155 on 5896  Progress: 1156 on 5896  Progress: 1157 on 5896  Progress: 1158 on 5896  Progress: 1159 on 5896  Progress: 1160 on 5896  Progress: 1161 on 5896  Progress: 1162 on 5896  Progress: 1163 on 5896  Progress: 1164 on 5896  Progress: 1165 on 5896  Progress: 1166 on 5896  Progress: 1167 on 5896  Progress: 1168 on 5896  Progress: 1169 on 5896  Progress: 1170 on 5896  Progress: 1171 on 5896  Progress: 1172 on 5896  Progress: 1173 on 5896  Progress: 1174 on 5896  Progress: 1175 on 5896  Progress: 1176 on 5896  Progress: 1177 on 5896  Progress: 1178 on 5896  Progress: 1179 on 5896  Progress: 1180 on 5896  Progress: 1181 on 5896  Progress: 1182 on 5896  Progress: 1183 on 5896  Progress: 1184 on 5896  Progress: 1185 on 5896  Progress: 1186 on 5896  Progress: 1187 on 5896  Progress: 1188 on 5896  Progress: 1189 on 5896  Progress: 1190 on 5896  Progress: 1191 on 5896  Progress: 1192 on 5896  Progress: 1193 on 5896  Progress: 1194 on 5896  Progress: 1195 on 5896  Progress: 1196 on 5896  Progress: 1197 on 5896  Progress: 1198 on 5896  Progress: 1199 on 5896  Progress: 1200 on 5896  Progress: 1201 on 5896  Progress: 1202 on 5896  Progress: 1203 on 5896  Progress: 1204 on 5896  Progress: 1205 on 5896  Progress: 1206 on 5896  Progress: 1207 on 5896  Progress: 1208 on 5896  Progress: 1209 on 5896  Progress: 1210 on 5896  Progress: 1211 on 5896  Progress: 1212 on 5896  Progress: 1213 on 5896  Progress: 1214 on 5896  Progress: 1215 on 5896  Progress: 1216 on 5896  Progress: 1217 on 5896  Progress: 1218 on 5896  Progress: 1219 on 5896  Progress: 1220 on 5896  Progress: 1221 on 5896  Progress: 1222 on 5896  Progress: 1223 on 5896  Progress: 1224 on 5896  Progress: 1225 on 5896  Progress: 1226 on 5896  Progress: 1227 on 5896  Progress: 1228 on 5896  Progress: 1229 on 5896  Progress: 1230 on 5896  Progress: 1231 on 5896  Progress: 1232 on 5896  Progress: 1233 on 5896  Progress: 1234 on 5896  Progress: 1235 on 5896  Progress: 1236 on 5896  Progress: 1237 on 5896  Progress: 1238 on 5896  Progress: 1239 on 5896  Progress: 1240 on 5896  Progress: 1241 on 5896  Progress: 1242 on 5896  Progress: 1243 on 5896  Progress: 1244 on 5896  Progress: 1245 on 5896  Progress: 1246 on 5896  Progress: 1247 on 5896  Progress: 1248 on 5896  Progress: 1249 on 5896  Progress: 1250 on 5896  Progress: 1251 on 5896  Progress: 1252 on 5896  Progress: 1253 on 5896  Progress: 1254 on 5896  Progress: 1255 on 5896  Progress: 1256 on 5896  Progress: 1257 on 5896  Progress: 1258 on 5896  Progress: 1259 on 5896  Progress: 1260 on 5896  Progress: 1261 on 5896  Progress: 1262 on 5896  Progress: 1263 on 5896  Progress: 1264 on 5896  Progress: 1265 on 5896  Progress: 1266 on 5896  Progress: 1267 on 5896  Progress: 1268 on 5896  Progress: 1269 on 5896  Progress: 1270 on 5896  Progress: 1271 on 5896  Progress: 1272 on 5896  Progress: 1273 on 5896  Progress: 1274 on 5896  Progress: 1275 on 5896  Progress: 1276 on 5896  Progress: 1277 on 5896  Progress: 1278 on 5896  Progress: 1279 on 5896  Progress: 1280 on 5896  Progress: 1281 on 5896  Progress: 1282 on 5896  Progress: 1283 on 5896  Progress: 1284 on 5896  Progress: 1285 on 5896  Progress: 1286 on 5896  Progress: 1287 on 5896  Progress: 1288 on 5896  Progress: 1289 on 5896  Progress: 1290 on 5896  Progress: 1291 on 5896  Progress: 1292 on 5896  Progress: 1293 on 5896  Progress: 1294 on 5896  Progress: 1295 on 5896  Progress: 1296 on 5896  Progress: 1297 on 5896  Progress: 1298 on 5896  Progress: 1299 on 5896  Progress: 1300 on 5896  Progress: 1301 on 5896  Progress: 1302 on 5896  Progress: 1303 on 5896  Progress: 1304 on 5896  Progress: 1305 on 5896  Progress: 1306 on 5896  Progress: 1307 on 5896  Progress: 1308 on 5896  Progress: 1309 on 5896  Progress: 1310 on 5896  Progress: 1311 on 5896  Progress: 1312 on 5896  Progress: 1313 on 5896  Progress: 1314 on 5896  Progress: 1315 on 5896  Progress: 1316 on 5896  Progress: 1317 on 5896  Progress: 1318 on 5896  Progress: 1319 on 5896  Progress: 1320 on 5896  Progress: 1321 on 5896  Progress: 1322 on 5896  Progress: 1323 on 5896  Progress: 1324 on 5896  Progress: 1325 on 5896  Progress: 1326 on 5896  Progress: 1327 on 5896  Progress: 1328 on 5896  Progress: 1329 on 5896  Progress: 1330 on 5896  Progress: 1331 on 5896  Progress: 1332 on 5896  Progress: 1333 on 5896  Progress: 1334 on 5896  Progress: 1335 on 5896  Progress: 1336 on 5896  Progress: 1337 on 5896  Progress: 1338 on 5896  Progress: 1339 on 5896  Progress: 1340 on 5896  Progress: 1341 on 5896  Progress: 1342 on 5896  Progress: 1343 on 5896  Progress: 1344 on 5896  Progress: 1345 on 5896  Progress: 1346 on 5896  Progress: 1347 on 5896  Progress: 1348 on 5896  Progress: 1349 on 5896  Progress: 1350 on 5896  Progress: 1351 on 5896  Progress: 1352 on 5896  Progress: 1353 on 5896  Progress: 1354 on 5896  Progress: 1355 on 5896  Progress: 1356 on 5896  Progress: 1357 on 5896  Progress: 1358 on 5896  Progress: 1359 on 5896  Progress: 1360 on 5896  Progress: 1361 on 5896  Progress: 1362 on 5896  Progress: 1363 on 5896  Progress: 1364 on 5896  Progress: 1365 on 5896  Progress: 1366 on 5896  Progress: 1367 on 5896  Progress: 1368 on 5896  Progress: 1369 on 5896  Progress: 1370 on 5896  Progress: 1371 on 5896  Progress: 1372 on 5896  Progress: 1373 on 5896  Progress: 1374 on 5896  Progress: 1375 on 5896  Progress: 1376 on 5896  Progress: 1377 on 5896  Progress: 1378 on 5896  Progress: 1379 on 5896  Progress: 1380 on 5896  Progress: 1381 on 5896  Progress: 1382 on 5896  Progress: 1383 on 5896  Progress: 1384 on 5896  Progress: 1385 on 5896  Progress: 1386 on 5896  Progress: 1387 on 5896  Progress: 1388 on 5896  Progress: 1389 on 5896  Progress: 1390 on 5896  Progress: 1391 on 5896  Progress: 1392 on 5896  Progress: 1393 on 5896  Progress: 1394 on 5896  Progress: 1395 on 5896  Progress: 1396 on 5896  Progress: 1397 on 5896  Progress: 1398 on 5896  Progress: 1399 on 5896  Progress: 1400 on 5896  Progress: 1401 on 5896  Progress: 1402 on 5896  Progress: 1403 on 5896  Progress: 1404 on 5896  Progress: 1405 on 5896  Progress: 1406 on 5896  Progress: 1407 on 5896  Progress: 1408 on 5896  Progress: 1409 on 5896  Progress: 1410 on 5896  Progress: 1411 on 5896  Progress: 1412 on 5896  Progress: 1413 on 5896  Progress: 1414 on 5896  Progress: 1415 on 5896  Progress: 1416 on 5896  Progress: 1417 on 5896  Progress: 1418 on 5896  Progress: 1419 on 5896  Progress: 1420 on 5896  Progress: 1421 on 5896  Progress: 1422 on 5896  Progress: 1423 on 5896  Progress: 1424 on 5896  Progress: 1425 on 5896  Progress: 1426 on 5896  Progress: 1427 on 5896  Progress: 1428 on 5896  Progress: 1429 on 5896  Progress: 1430 on 5896  Progress: 1431 on 5896  Progress: 1432 on 5896  Progress: 1433 on 5896  Progress: 1434 on 5896  Progress: 1435 on 5896  Progress: 1436 on 5896  Progress: 1437 on 5896  Progress: 1438 on 5896  Progress: 1439 on 5896  Progress: 1440 on 5896  Progress: 1441 on 5896  Progress: 1442 on 5896  Progress: 1443 on 5896  Progress: 1444 on 5896  Progress: 1445 on 5896  Progress: 1446 on 5896  Progress: 1447 on 5896  Progress: 1448 on 5896  Progress: 1449 on 5896  Progress: 1450 on 5896  Progress: 1451 on 5896  Progress: 1452 on 5896  Progress: 1453 on 5896  Progress: 1454 on 5896  Progress: 1455 on 5896  Progress: 1456 on 5896  Progress: 1457 on 5896  Progress: 1458 on 5896  Progress: 1459 on 5896  Progress: 1460 on 5896  Progress: 1461 on 5896  Progress: 1462 on 5896  Progress: 1463 on 5896  Progress: 1464 on 5896  Progress: 1465 on 5896  Progress: 1466 on 5896  Progress: 1467 on 5896  Progress: 1468 on 5896  Progress: 1469 on 5896  Progress: 1470 on 5896  Progress: 1471 on 5896  Progress: 1472 on 5896  Progress: 1473 on 5896  Progress: 1474 on 5896  Progress: 1475 on 5896  Progress: 1476 on 5896  Progress: 1477 on 5896  Progress: 1478 on 5896  Progress: 1479 on 5896  Progress: 1480 on 5896  Progress: 1481 on 5896  Progress: 1482 on 5896  Progress: 1483 on 5896  Progress: 1484 on 5896  Progress: 1485 on 5896  Progress: 1486 on 5896  Progress: 1487 on 5896  Progress: 1488 on 5896  Progress: 1489 on 5896  Progress: 1490 on 5896  Progress: 1491 on 5896  Progress: 1492 on 5896  Progress: 1493 on 5896  Progress: 1494 on 5896  Progress: 1495 on 5896  Progress: 1496 on 5896  Progress: 1497 on 5896  Progress: 1498 on 5896  Progress: 1499 on 5896  Progress: 1500 on 5896  Progress: 1501 on 5896  Progress: 1502 on 5896  Progress: 1503 on 5896  Progress: 1504 on 5896  Progress: 1505 on 5896  Progress: 1506 on 5896  Progress: 1507 on 5896  Progress: 1508 on 5896  Progress: 1509 on 5896  Progress: 1510 on 5896  Progress: 1511 on 5896  Progress: 1512 on 5896  Progress: 1513 on 5896  Progress: 1514 on 5896  Progress: 1515 on 5896  Progress: 1516 on 5896  Progress: 1517 on 5896  Progress: 1518 on 5896  Progress: 1519 on 5896  Progress: 1520 on 5896  Progress: 1521 on 5896  Progress: 1522 on 5896  Progress: 1523 on 5896  Progress: 1524 on 5896  Progress: 1525 on 5896  Progress: 1526 on 5896  Progress: 1527 on 5896  Progress: 1528 on 5896  Progress: 1529 on 5896  Progress: 1530 on 5896  Progress: 1531 on 5896  Progress: 1532 on 5896  Progress: 1533 on 5896  Progress: 1534 on 5896  Progress: 1535 on 5896  Progress: 1536 on 5896  Progress: 1537 on 5896  Progress: 1538 on 5896  Progress: 1539 on 5896  Progress: 1540 on 5896  Progress: 1541 on 5896  Progress: 1542 on 5896  Progress: 1543 on 5896  Progress: 1544 on 5896  Progress: 1545 on 5896  Progress: 1546 on 5896  Progress: 1547 on 5896  Progress: 1548 on 5896  Progress: 1549 on 5896  Progress: 1550 on 5896  Progress: 1551 on 5896  Progress: 1552 on 5896  Progress: 1553 on 5896  Progress: 1554 on 5896  Progress: 1555 on 5896  Progress: 1556 on 5896  Progress: 1557 on 5896  Progress: 1558 on 5896  Progress: 1559 on 5896  Progress: 1560 on 5896  Progress: 1561 on 5896  Progress: 1562 on 5896  Progress: 1563 on 5896  Progress: 1564 on 5896  Progress: 1565 on 5896  Progress: 1566 on 5896  Progress: 1567 on 5896  Progress: 1568 on 5896  Progress: 1569 on 5896  Progress: 1570 on 5896  Progress: 1571 on 5896  Progress: 1572 on 5896  Progress: 1573 on 5896  Progress: 1574 on 5896  Progress: 1575 on 5896  Progress: 1576 on 5896  Progress: 1577 on 5896  Progress: 1578 on 5896  Progress: 1579 on 5896  Progress: 1580 on 5896  Progress: 1581 on 5896  Progress: 1582 on 5896  Progress: 1583 on 5896  Progress: 1584 on 5896  Progress: 1585 on 5896  Progress: 1586 on 5896  Progress: 1587 on 5896  Progress: 1588 on 5896  Progress: 1589 on 5896  Progress: 1590 on 5896  Progress: 1591 on 5896  Progress: 1592 on 5896  Progress: 1593 on 5896  Progress: 1594 on 5896  Progress: 1595 on 5896  Progress: 1596 on 5896  Progress: 1597 on 5896  Progress: 1598 on 5896  Progress: 1599 on 5896  Progress: 1600 on 5896  Progress: 1601 on 5896  Progress: 1602 on 5896  Progress: 1603 on 5896  Progress: 1604 on 5896  Progress: 1605 on 5896  Progress: 1606 on 5896  Progress: 1607 on 5896  Progress: 1608 on 5896  Progress: 1609 on 5896  Progress: 1610 on 5896  Progress: 1611 on 5896  Progress: 1612 on 5896  Progress: 1613 on 5896  Progress: 1614 on 5896  Progress: 1615 on 5896  Progress: 1616 on 5896  Progress: 1617 on 5896  Progress: 1618 on 5896  Progress: 1619 on 5896  Progress: 1620 on 5896  Progress: 1621 on 5896  Progress: 1622 on 5896  Progress: 1623 on 5896  Progress: 1624 on 5896  Progress: 1625 on 5896  Progress: 1626 on 5896  Progress: 1627 on 5896  Progress: 1628 on 5896  Progress: 1629 on 5896  Progress: 1630 on 5896  Progress: 1631 on 5896  Progress: 1632 on 5896  Progress: 1633 on 5896  Progress: 1634 on 5896  Progress: 1635 on 5896  Progress: 1636 on 5896  Progress: 1637 on 5896  Progress: 1638 on 5896  Progress: 1639 on 5896  Progress: 1640 on 5896  Progress: 1641 on 5896  Progress: 1642 on 5896  Progress: 1643 on 5896  Progress: 1644 on 5896  Progress: 1645 on 5896  Progress: 1646 on 5896  Progress: 1647 on 5896  Progress: 1648 on 5896  Progress: 1649 on 5896  Progress: 1650 on 5896  Progress: 1651 on 5896  Progress: 1652 on 5896  Progress: 1653 on 5896  Progress: 1654 on 5896  Progress: 1655 on 5896  Progress: 1656 on 5896  Progress: 1657 on 5896  Progress: 1658 on 5896  Progress: 1659 on 5896  Progress: 1660 on 5896  Progress: 1661 on 5896  Progress: 1662 on 5896  Progress: 1663 on 5896  Progress: 1664 on 5896  Progress: 1665 on 5896  Progress: 1666 on 5896  Progress: 1667 on 5896  Progress: 1668 on 5896  Progress: 1669 on 5896  Progress: 1670 on 5896  Progress: 1671 on 5896  Progress: 1672 on 5896  Progress: 1673 on 5896  Progress: 1674 on 5896  Progress: 1675 on 5896  Progress: 1676 on 5896  Progress: 1677 on 5896  Progress: 1678 on 5896  Progress: 1679 on 5896  Progress: 1680 on 5896  Progress: 1681 on 5896  Progress: 1682 on 5896  Progress: 1683 on 5896  Progress: 1684 on 5896  Progress: 1685 on 5896  Progress: 1686 on 5896  Progress: 1687 on 5896  Progress: 1688 on 5896  Progress: 1689 on 5896  Progress: 1690 on 5896  Progress: 1691 on 5896  Progress: 1692 on 5896  Progress: 1693 on 5896  Progress: 1694 on 5896  Progress: 1695 on 5896  Progress: 1696 on 5896  Progress: 1697 on 5896  Progress: 1698 on 5896  Progress: 1699 on 5896  Progress: 1700 on 5896  Progress: 1701 on 5896  Progress: 1702 on 5896  Progress: 1703 on 5896  Progress: 1704 on 5896  Progress: 1705 on 5896  Progress: 1706 on 5896  Progress: 1707 on 5896  Progress: 1708 on 5896  Progress: 1709 on 5896  Progress: 1710 on 5896  Progress: 1711 on 5896  Progress: 1712 on 5896  Progress: 1713 on 5896  Progress: 1714 on 5896  Progress: 1715 on 5896  Progress: 1716 on 5896  Progress: 1717 on 5896  Progress: 1718 on 5896  Progress: 1719 on 5896  Progress: 1720 on 5896  Progress: 1721 on 5896  Progress: 1722 on 5896  Progress: 1723 on 5896  Progress: 1724 on 5896  Progress: 1725 on 5896  Progress: 1726 on 5896  Progress: 1727 on 5896  Progress: 1728 on 5896  Progress: 1729 on 5896  Progress: 1730 on 5896  Progress: 1731 on 5896  Progress: 1732 on 5896  Progress: 1733 on 5896  Progress: 1734 on 5896  Progress: 1735 on 5896  Progress: 1736 on 5896  Progress: 1737 on 5896  Progress: 1738 on 5896  Progress: 1739 on 5896  Progress: 1740 on 5896  Progress: 1741 on 5896  Progress: 1742 on 5896  Progress: 1743 on 5896  Progress: 1744 on 5896  Progress: 1745 on 5896  Progress: 1746 on 5896  Progress: 1747 on 5896  Progress: 1748 on 5896  Progress: 1749 on 5896  Progress: 1750 on 5896  Progress: 1751 on 5896  Progress: 1752 on 5896  Progress: 1753 on 5896  Progress: 1754 on 5896  Progress: 1755 on 5896  Progress: 1756 on 5896  Progress: 1757 on 5896  Progress: 1758 on 5896  Progress: 1759 on 5896  Progress: 1760 on 5896  Progress: 1761 on 5896  Progress: 1762 on 5896  Progress: 1763 on 5896  Progress: 1764 on 5896  Progress: 1765 on 5896  Progress: 1766 on 5896  Progress: 1767 on 5896  Progress: 1768 on 5896  Progress: 1769 on 5896  Progress: 1770 on 5896  Progress: 1771 on 5896  Progress: 1772 on 5896  Progress: 1773 on 5896  Progress: 1774 on 5896  Progress: 1775 on 5896  Progress: 1776 on 5896  Progress: 1777 on 5896  Progress: 1778 on 5896  Progress: 1779 on 5896  Progress: 1780 on 5896  Progress: 1781 on 5896  Progress: 1782 on 5896  Progress: 1783 on 5896  Progress: 1784 on 5896  Progress: 1785 on 5896  Progress: 1786 on 5896  Progress: 1787 on 5896  Progress: 1788 on 5896  Progress: 1789 on 5896  Progress: 1790 on 5896  Progress: 1791 on 5896  Progress: 1792 on 5896  Progress: 1793 on 5896  Progress: 1794 on 5896  Progress: 1795 on 5896  Progress: 1796 on 5896  Progress: 1797 on 5896  Progress: 1798 on 5896  Progress: 1799 on 5896  Progress: 1800 on 5896  Progress: 1801 on 5896  Progress: 1802 on 5896  Progress: 1803 on 5896  Progress: 1804 on 5896  Progress: 1805 on 5896  Progress: 1806 on 5896  Progress: 1807 on 5896  Progress: 1808 on 5896  Progress: 1809 on 5896  Progress: 1810 on 5896  Progress: 1811 on 5896  Progress: 1812 on 5896  Progress: 1813 on 5896  Progress: 1814 on 5896  Progress: 1815 on 5896  Progress: 1816 on 5896  Progress: 1817 on 5896  Progress: 1818 on 5896  Progress: 1819 on 5896  Progress: 1820 on 5896  Progress: 1821 on 5896  Progress: 1822 on 5896  Progress: 1823 on 5896  Progress: 1824 on 5896  Progress: 1825 on 5896  Progress: 1826 on 5896  Progress: 1827 on 5896  Progress: 1828 on 5896  Progress: 1829 on 5896  Progress: 1830 on 5896  Progress: 1831 on 5896  Progress: 1832 on 5896  Progress: 1833 on 5896  Progress: 1834 on 5896  Progress: 1835 on 5896  Progress: 1836 on 5896  Progress: 1837 on 5896  Progress: 1838 on 5896  Progress: 1839 on 5896  Progress: 1840 on 5896  Progress: 1841 on 5896  Progress: 1842 on 5896  Progress: 1843 on 5896  Progress: 1844 on 5896  Progress: 1845 on 5896  Progress: 1846 on 5896  Progress: 1847 on 5896  Progress: 1848 on 5896  Progress: 1849 on 5896  Progress: 1850 on 5896  Progress: 1851 on 5896  Progress: 1852 on 5896  Progress: 1853 on 5896  Progress: 1854 on 5896  Progress: 1855 on 5896  Progress: 1856 on 5896  Progress: 1857 on 5896  Progress: 1858 on 5896  Progress: 1859 on 5896  Progress: 1860 on 5896  Progress: 1861 on 5896  Progress: 1862 on 5896  Progress: 1863 on 5896  Progress: 1864 on 5896  Progress: 1865 on 5896  Progress: 1866 on 5896  Progress: 1867 on 5896  Progress: 1868 on 5896  Progress: 1869 on 5896  Progress: 1870 on 5896  Progress: 1871 on 5896  Progress: 1872 on 5896  Progress: 1873 on 5896  Progress: 1874 on 5896  Progress: 1875 on 5896  Progress: 1876 on 5896  Progress: 1877 on 5896  Progress: 1878 on 5896  Progress: 1879 on 5896  Progress: 1880 on 5896  Progress: 1881 on 5896  Progress: 1882 on 5896  Progress: 1883 on 5896  Progress: 1884 on 5896  Progress: 1885 on 5896  Progress: 1886 on 5896  Progress: 1887 on 5896  Progress: 1888 on 5896  Progress: 1889 on 5896  Progress: 1890 on 5896  Progress: 1891 on 5896  Progress: 1892 on 5896  Progress: 1893 on 5896  Progress: 1894 on 5896  Progress: 1895 on 5896  Progress: 1896 on 5896  Progress: 1897 on 5896  Progress: 1898 on 5896  Progress: 1899 on 5896  Progress: 1900 on 5896  Progress: 1901 on 5896  Progress: 1902 on 5896  Progress: 1903 on 5896  Progress: 1904 on 5896  Progress: 1905 on 5896  Progress: 1906 on 5896  Progress: 1907 on 5896  Progress: 1908 on 5896  Progress: 1909 on 5896  Progress: 1910 on 5896  Progress: 1911 on 5896  Progress: 1912 on 5896  Progress: 1913 on 5896  Progress: 1914 on 5896  Progress: 1915 on 5896  Progress: 1916 on 5896  Progress: 1917 on 5896  Progress: 1918 on 5896  Progress: 1919 on 5896  Progress: 1920 on 5896  Progress: 1921 on 5896  Progress: 1922 on 5896  Progress: 1923 on 5896  Progress: 1924 on 5896  Progress: 1925 on 5896  Progress: 1926 on 5896  Progress: 1927 on 5896  Progress: 1928 on 5896  Progress: 1929 on 5896  Progress: 1930 on 5896  Progress: 1931 on 5896  Progress: 1932 on 5896  Progress: 1933 on 5896  Progress: 1934 on 5896  Progress: 1935 on 5896  Progress: 1936 on 5896  Progress: 1937 on 5896  Progress: 1938 on 5896  Progress: 1939 on 5896  Progress: 1940 on 5896  Progress: 1941 on 5896  Progress: 1942 on 5896  Progress: 1943 on 5896  Progress: 1944 on 5896  Progress: 1945 on 5896  Progress: 1946 on 5896  Progress: 1947 on 5896  Progress: 1948 on 5896  Progress: 1949 on 5896  Progress: 1950 on 5896  Progress: 1951 on 5896  Progress: 1952 on 5896  Progress: 1953 on 5896  Progress: 1954 on 5896  Progress: 1955 on 5896  Progress: 1956 on 5896  Progress: 1957 on 5896  Progress: 1958 on 5896  Progress: 1959 on 5896  Progress: 1960 on 5896  Progress: 1961 on 5896  Progress: 1962 on 5896  Progress: 1963 on 5896  Progress: 1964 on 5896  Progress: 1965 on 5896  Progress: 1966 on 5896  Progress: 1967 on 5896  Progress: 1968 on 5896  Progress: 1969 on 5896  Progress: 1970 on 5896  Progress: 1971 on 5896  Progress: 1972 on 5896  Progress: 1973 on 5896  Progress: 1974 on 5896  Progress: 1975 on 5896  Progress: 1976 on 5896  Progress: 1977 on 5896  Progress: 1978 on 5896  Progress: 1979 on 5896  Progress: 1980 on 5896  Progress: 1981 on 5896  Progress: 1982 on 5896  Progress: 1983 on 5896  Progress: 1984 on 5896  Progress: 1985 on 5896  Progress: 1986 on 5896  Progress: 1987 on 5896  Progress: 1988 on 5896  Progress: 1989 on 5896  Progress: 1990 on 5896  Progress: 1991 on 5896  Progress: 1992 on 5896  Progress: 1993 on 5896  Progress: 1994 on 5896  Progress: 1995 on 5896  Progress: 1996 on 5896  Progress: 1997 on 5896  Progress: 1998 on 5896  Progress: 1999 on 5896  Progress: 2000 on 5896  Progress: 2001 on 5896  Progress: 2002 on 5896  Progress: 2003 on 5896  Progress: 2004 on 5896  Progress: 2005 on 5896  Progress: 2006 on 5896  Progress: 2007 on 5896  Progress: 2008 on 5896  Progress: 2009 on 5896  Progress: 2010 on 5896  Progress: 2011 on 5896  Progress: 2012 on 5896  Progress: 2013 on 5896  Progress: 2014 on 5896  Progress: 2015 on 5896  Progress: 2016 on 5896  Progress: 2017 on 5896  Progress: 2018 on 5896  Progress: 2019 on 5896  Progress: 2020 on 5896  Progress: 2021 on 5896  Progress: 2022 on 5896  Progress: 2023 on 5896  Progress: 2024 on 5896  Progress: 2025 on 5896  Progress: 2026 on 5896  Progress: 2027 on 5896  Progress: 2028 on 5896  Progress: 2029 on 5896  Progress: 2030 on 5896  Progress: 2031 on 5896  Progress: 2032 on 5896  Progress: 2033 on 5896  Progress: 2034 on 5896  Progress: 2035 on 5896  Progress: 2036 on 5896  Progress: 2037 on 5896  Progress: 2038 on 5896  Progress: 2039 on 5896  Progress: 2040 on 5896  Progress: 2041 on 5896  Progress: 2042 on 5896  Progress: 2043 on 5896  Progress: 2044 on 5896  Progress: 2045 on 5896  Progress: 2046 on 5896  Progress: 2047 on 5896  Progress: 2048 on 5896  Progress: 2049 on 5896  Progress: 2050 on 5896  Progress: 2051 on 5896  Progress: 2052 on 5896  Progress: 2053 on 5896  Progress: 2054 on 5896  Progress: 2055 on 5896  Progress: 2056 on 5896  Progress: 2057 on 5896  Progress: 2058 on 5896  Progress: 2059 on 5896  Progress: 2060 on 5896  Progress: 2061 on 5896  Progress: 2062 on 5896  Progress: 2063 on 5896  Progress: 2064 on 5896  Progress: 2065 on 5896  Progress: 2066 on 5896  Progress: 2067 on 5896  Progress: 2068 on 5896  Progress: 2069 on 5896  Progress: 2070 on 5896  Progress: 2071 on 5896  Progress: 2072 on 5896  Progress: 2073 on 5896  Progress: 2074 on 5896  Progress: 2075 on 5896  Progress: 2076 on 5896  Progress: 2077 on 5896  Progress: 2078 on 5896  Progress: 2079 on 5896  Progress: 2080 on 5896  Progress: 2081 on 5896  Progress: 2082 on 5896  Progress: 2083 on 5896  Progress: 2084 on 5896  Progress: 2085 on 5896  Progress: 2086 on 5896  Progress: 2087 on 5896  Progress: 2088 on 5896  Progress: 2089 on 5896  Progress: 2090 on 5896  Progress: 2091 on 5896  Progress: 2092 on 5896  Progress: 2093 on 5896  Progress: 2094 on 5896  Progress: 2095 on 5896  Progress: 2096 on 5896  Progress: 2097 on 5896  Progress: 2098 on 5896  Progress: 2099 on 5896  Progress: 2100 on 5896  Progress: 2101 on 5896  Progress: 2102 on 5896  Progress: 2103 on 5896  Progress: 2104 on 5896  Progress: 2105 on 5896  Progress: 2106 on 5896  Progress: 2107 on 5896  Progress: 2108 on 5896  Progress: 2109 on 5896  Progress: 2110 on 5896  Progress: 2111 on 5896  Progress: 2112 on 5896  Progress: 2113 on 5896  Progress: 2114 on 5896  Progress: 2115 on 5896  Progress: 2116 on 5896  Progress: 2117 on 5896  Progress: 2118 on 5896  Progress: 2119 on 5896  Progress: 2120 on 5896  Progress: 2121 on 5896  Progress: 2122 on 5896  Progress: 2123 on 5896  Progress: 2124 on 5896  Progress: 2125 on 5896  Progress: 2126 on 5896  Progress: 2127 on 5896  Progress: 2128 on 5896  Progress: 2129 on 5896  Progress: 2130 on 5896  Progress: 2131 on 5896  Progress: 2132 on 5896  Progress: 2133 on 5896  Progress: 2134 on 5896  Progress: 2135 on 5896  Progress: 2136 on 5896  Progress: 2137 on 5896  Progress: 2138 on 5896  Progress: 2139 on 5896  Progress: 2140 on 5896  Progress: 2141 on 5896  Progress: 2142 on 5896  Progress: 2143 on 5896  Progress: 2144 on 5896  Progress: 2145 on 5896  Progress: 2146 on 5896  Progress: 2147 on 5896  Progress: 2148 on 5896  Progress: 2149 on 5896  Progress: 2150 on 5896  Progress: 2151 on 5896  Progress: 2152 on 5896  Progress: 2153 on 5896  Progress: 2154 on 5896  Progress: 2155 on 5896  Progress: 2156 on 5896  Progress: 2157 on 5896  Progress: 2158 on 5896  Progress: 2159 on 5896  Progress: 2160 on 5896  Progress: 2161 on 5896  Progress: 2162 on 5896  Progress: 2163 on 5896  Progress: 2164 on 5896  Progress: 2165 on 5896  Progress: 2166 on 5896  Progress: 2167 on 5896  Progress: 2168 on 5896  Progress: 2169 on 5896  Progress: 2170 on 5896  Progress: 2171 on 5896  Progress: 2172 on 5896  Progress: 2173 on 5896  Progress: 2174 on 5896  Progress: 2175 on 5896  Progress: 2176 on 5896  Progress: 2177 on 5896  Progress: 2178 on 5896  Progress: 2179 on 5896  Progress: 2180 on 5896  Progress: 2181 on 5896  Progress: 2182 on 5896  Progress: 2183 on 5896  Progress: 2184 on 5896  Progress: 2185 on 5896  Progress: 2186 on 5896  Progress: 2187 on 5896  Progress: 2188 on 5896  Progress: 2189 on 5896  Progress: 2190 on 5896  Progress: 2191 on 5896  Progress: 2192 on 5896  Progress: 2193 on 5896  Progress: 2194 on 5896  Progress: 2195 on 5896  Progress: 2196 on 5896  Progress: 2197 on 5896  Progress: 2198 on 5896  Progress: 2199 on 5896  Progress: 2200 on 5896  Progress: 2201 on 5896  Progress: 2202 on 5896  Progress: 2203 on 5896  Progress: 2204 on 5896  Progress: 2205 on 5896  Progress: 2206 on 5896  Progress: 2207 on 5896  Progress: 2208 on 5896  Progress: 2209 on 5896  Progress: 2210 on 5896  Progress: 2211 on 5896  Progress: 2212 on 5896  Progress: 2213 on 5896  Progress: 2214 on 5896  Progress: 2215 on 5896  Progress: 2216 on 5896  Progress: 2217 on 5896  Progress: 2218 on 5896  Progress: 2219 on 5896  Progress: 2220 on 5896  Progress: 2221 on 5896  Progress: 2222 on 5896  Progress: 2223 on 5896  Progress: 2224 on 5896  Progress: 2225 on 5896  Progress: 2226 on 5896  Progress: 2227 on 5896  Progress: 2228 on 5896  Progress: 2229 on 5896  Progress: 2230 on 5896  Progress: 2231 on 5896  Progress: 2232 on 5896  Progress: 2233 on 5896  Progress: 2234 on 5896  Progress: 2235 on 5896  Progress: 2236 on 5896  Progress: 2237 on 5896  Progress: 2238 on 5896  Progress: 2239 on 5896  Progress: 2240 on 5896  Progress: 2241 on 5896  Progress: 2242 on 5896  Progress: 2243 on 5896  Progress: 2244 on 5896  Progress: 2245 on 5896  Progress: 2246 on 5896  Progress: 2247 on 5896  Progress: 2248 on 5896  Progress: 2249 on 5896  Progress: 2250 on 5896  Progress: 2251 on 5896  Progress: 2252 on 5896  Progress: 2253 on 5896  Progress: 2254 on 5896  Progress: 2255 on 5896  Progress: 2256 on 5896  Progress: 2257 on 5896  Progress: 2258 on 5896  Progress: 2259 on 5896  Progress: 2260 on 5896  Progress: 2261 on 5896  Progress: 2262 on 5896  Progress: 2263 on 5896  Progress: 2264 on 5896  Progress: 2265 on 5896  Progress: 2266 on 5896  Progress: 2267 on 5896  Progress: 2268 on 5896  Progress: 2269 on 5896  Progress: 2270 on 5896  Progress: 2271 on 5896  Progress: 2272 on 5896  Progress: 2273 on 5896  Progress: 2274 on 5896  Progress: 2275 on 5896  Progress: 2276 on 5896  Progress: 2277 on 5896  Progress: 2278 on 5896  Progress: 2279 on 5896  Progress: 2280 on 5896  Progress: 2281 on 5896  Progress: 2282 on 5896  Progress: 2283 on 5896  Progress: 2284 on 5896  Progress: 2285 on 5896  Progress: 2286 on 5896  Progress: 2287 on 5896  Progress: 2288 on 5896  Progress: 2289 on 5896  Progress: 2290 on 5896  Progress: 2291 on 5896  Progress: 2292 on 5896  Progress: 2293 on 5896  Progress: 2294 on 5896  Progress: 2295 on 5896  Progress: 2296 on 5896  Progress: 2297 on 5896  Progress: 2298 on 5896  Progress: 2299 on 5896  Progress: 2300 on 5896  Progress: 2301 on 5896  Progress: 2302 on 5896  Progress: 2303 on 5896  Progress: 2304 on 5896  Progress: 2305 on 5896  Progress: 2306 on 5896  Progress: 2307 on 5896  Progress: 2308 on 5896  Progress: 2309 on 5896  Progress: 2310 on 5896  Progress: 2311 on 5896  Progress: 2312 on 5896  Progress: 2313 on 5896  Progress: 2314 on 5896  Progress: 2315 on 5896  Progress: 2316 on 5896  Progress: 2317 on 5896  Progress: 2318 on 5896  Progress: 2319 on 5896  Progress: 2320 on 5896  Progress: 2321 on 5896  Progress: 2322 on 5896  Progress: 2323 on 5896  Progress: 2324 on 5896  Progress: 2325 on 5896  Progress: 2326 on 5896  Progress: 2327 on 5896  Progress: 2328 on 5896  Progress: 2329 on 5896  Progress: 2330 on 5896  Progress: 2331 on 5896  Progress: 2332 on 5896  Progress: 2333 on 5896  Progress: 2334 on 5896  Progress: 2335 on 5896  Progress: 2336 on 5896  Progress: 2337 on 5896  Progress: 2338 on 5896  Progress: 2339 on 5896  Progress: 2340 on 5896  Progress: 2341 on 5896  Progress: 2342 on 5896  Progress: 2343 on 5896  Progress: 2344 on 5896  Progress: 2345 on 5896  Progress: 2346 on 5896  Progress: 2347 on 5896  Progress: 2348 on 5896  Progress: 2349 on 5896  Progress: 2350 on 5896  Progress: 2351 on 5896  Progress: 2352 on 5896  Progress: 2353 on 5896  Progress: 2354 on 5896  Progress: 2355 on 5896  Progress: 2356 on 5896  Progress: 2357 on 5896  Progress: 2358 on 5896  Progress: 2359 on 5896  Progress: 2360 on 5896  Progress: 2361 on 5896  Progress: 2362 on 5896  Progress: 2363 on 5896  Progress: 2364 on 5896  Progress: 2365 on 5896  Progress: 2366 on 5896  Progress: 2367 on 5896  Progress: 2368 on 5896  Progress: 2369 on 5896  Progress: 2370 on 5896  Progress: 2371 on 5896  Progress: 2372 on 5896  Progress: 2373 on 5896  Progress: 2374 on 5896  Progress: 2375 on 5896  Progress: 2376 on 5896  Progress: 2377 on 5896  Progress: 2378 on 5896  Progress: 2379 on 5896  Progress: 2380 on 5896  Progress: 2381 on 5896  Progress: 2382 on 5896  Progress: 2383 on 5896  Progress: 2384 on 5896  Progress: 2385 on 5896  Progress: 2386 on 5896  Progress: 2387 on 5896  Progress: 2388 on 5896  Progress: 2389 on 5896  Progress: 2390 on 5896  Progress: 2391 on 5896  Progress: 2392 on 5896  Progress: 2393 on 5896  Progress: 2394 on 5896  Progress: 2395 on 5896  Progress: 2396 on 5896  Progress: 2397 on 5896  Progress: 2398 on 5896  Progress: 2399 on 5896  Progress: 2400 on 5896  Progress: 2401 on 5896  Progress: 2402 on 5896  Progress: 2403 on 5896  Progress: 2404 on 5896  Progress: 2405 on 5896  Progress: 2406 on 5896  Progress: 2407 on 5896  Progress: 2408 on 5896  Progress: 2409 on 5896  Progress: 2410 on 5896  Progress: 2411 on 5896  Progress: 2412 on 5896  Progress: 2413 on 5896  Progress: 2414 on 5896  Progress: 2415 on 5896  Progress: 2416 on 5896  Progress: 2417 on 5896  Progress: 2418 on 5896  Progress: 2419 on 5896  Progress: 2420 on 5896  Progress: 2421 on 5896  Progress: 2422 on 5896  Progress: 2423 on 5896  Progress: 2424 on 5896  Progress: 2425 on 5896  Progress: 2426 on 5896  Progress: 2427 on 5896  Progress: 2428 on 5896  Progress: 2429 on 5896  Progress: 2430 on 5896  Progress: 2431 on 5896  Progress: 2432 on 5896  Progress: 2433 on 5896  Progress: 2434 on 5896  Progress: 2435 on 5896  Progress: 2436 on 5896  Progress: 2437 on 5896  Progress: 2438 on 5896  Progress: 2439 on 5896  Progress: 2440 on 5896  Progress: 2441 on 5896  Progress: 2442 on 5896  Progress: 2443 on 5896  Progress: 2444 on 5896  Progress: 2445 on 5896  Progress: 2446 on 5896  Progress: 2447 on 5896  Progress: 2448 on 5896  Progress: 2449 on 5896  Progress: 2450 on 5896  Progress: 2451 on 5896  Progress: 2452 on 5896  Progress: 2453 on 5896  Progress: 2454 on 5896  Progress: 2455 on 5896  Progress: 2456 on 5896  Progress: 2457 on 5896  Progress: 2458 on 5896  Progress: 2459 on 5896  Progress: 2460 on 5896  Progress: 2461 on 5896  Progress: 2462 on 5896  Progress: 2463 on 5896  Progress: 2464 on 5896  Progress: 2465 on 5896  Progress: 2466 on 5896  Progress: 2467 on 5896  Progress: 2468 on 5896  Progress: 2469 on 5896  Progress: 2470 on 5896  Progress: 2471 on 5896  Progress: 2472 on 5896  Progress: 2473 on 5896  Progress: 2474 on 5896  Progress: 2475 on 5896  Progress: 2476 on 5896  Progress: 2477 on 5896  Progress: 2478 on 5896  Progress: 2479 on 5896  Progress: 2480 on 5896  Progress: 2481 on 5896  Progress: 2482 on 5896  Progress: 2483 on 5896  Progress: 2484 on 5896  Progress: 2485 on 5896  Progress: 2486 on 5896  Progress: 2487 on 5896  Progress: 2488 on 5896  Progress: 2489 on 5896  Progress: 2490 on 5896  Progress: 2491 on 5896  Progress: 2492 on 5896  Progress: 2493 on 5896  Progress: 2494 on 5896  Progress: 2495 on 5896  Progress: 2496 on 5896  Progress: 2497 on 5896  Progress: 2498 on 5896  Progress: 2499 on 5896  Progress: 2500 on 5896  Progress: 2501 on 5896  Progress: 2502 on 5896  Progress: 2503 on 5896  Progress: 2504 on 5896  Progress: 2505 on 5896  Progress: 2506 on 5896  Progress: 2507 on 5896  Progress: 2508 on 5896  Progress: 2509 on 5896  Progress: 2510 on 5896  Progress: 2511 on 5896  Progress: 2512 on 5896  Progress: 2513 on 5896  Progress: 2514 on 5896  Progress: 2515 on 5896  Progress: 2516 on 5896  Progress: 2517 on 5896  Progress: 2518 on 5896  Progress: 2519 on 5896  Progress: 2520 on 5896  Progress: 2521 on 5896  Progress: 2522 on 5896  Progress: 2523 on 5896  Progress: 2524 on 5896  Progress: 2525 on 5896  Progress: 2526 on 5896  Progress: 2527 on 5896  Progress: 2528 on 5896  Progress: 2529 on 5896  Progress: 2530 on 5896  Progress: 2531 on 5896  Progress: 2532 on 5896  Progress: 2533 on 5896  Progress: 2534 on 5896  Progress: 2535 on 5896  Progress: 2536 on 5896  Progress: 2537 on 5896  Progress: 2538 on 5896  Progress: 2539 on 5896  Progress: 2540 on 5896  Progress: 2541 on 5896  Progress: 2542 on 5896  Progress: 2543 on 5896  Progress: 2544 on 5896  Progress: 2545 on 5896  Progress: 2546 on 5896  Progress: 2547 on 5896  Progress: 2548 on 5896  Progress: 2549 on 5896  Progress: 2550 on 5896  Progress: 2551 on 5896  Progress: 2552 on 5896  Progress: 2553 on 5896  Progress: 2554 on 5896  Progress: 2555 on 5896  Progress: 2556 on 5896  Progress: 2557 on 5896  Progress: 2558 on 5896  Progress: 2559 on 5896  Progress: 2560 on 5896  Progress: 2561 on 5896  Progress: 2562 on 5896  Progress: 2563 on 5896  Progress: 2564 on 5896  Progress: 2565 on 5896  Progress: 2566 on 5896  Progress: 2567 on 5896  Progress: 2568 on 5896  Progress: 2569 on 5896  Progress: 2570 on 5896  Progress: 2571 on 5896  Progress: 2572 on 5896  Progress: 2573 on 5896  Progress: 2574 on 5896  Progress: 2575 on 5896  Progress: 2576 on 5896  Progress: 2577 on 5896  Progress: 2578 on 5896  Progress: 2579 on 5896  Progress: 2580 on 5896  Progress: 2581 on 5896  Progress: 2582 on 5896  Progress: 2583 on 5896  Progress: 2584 on 5896  Progress: 2585 on 5896  Progress: 2586 on 5896  Progress: 2587 on 5896  Progress: 2588 on 5896  Progress: 2589 on 5896  Progress: 2590 on 5896  Progress: 2591 on 5896  Progress: 2592 on 5896  Progress: 2593 on 5896  Progress: 2594 on 5896  Progress: 2595 on 5896  Progress: 2596 on 5896  Progress: 2597 on 5896  Progress: 2598 on 5896  Progress: 2599 on 5896  Progress: 2600 on 5896  Progress: 2601 on 5896  Progress: 2602 on 5896  Progress: 2603 on 5896  Progress: 2604 on 5896  Progress: 2605 on 5896  Progress: 2606 on 5896  Progress: 2607 on 5896  Progress: 2608 on 5896  Progress: 2609 on 5896  Progress: 2610 on 5896  Progress: 2611 on 5896  Progress: 2612 on 5896  Progress: 2613 on 5896  Progress: 2614 on 5896  Progress: 2615 on 5896  Progress: 2616 on 5896  Progress: 2617 on 5896  Progress: 2618 on 5896  Progress: 2619 on 5896  Progress: 2620 on 5896  Progress: 2621 on 5896  Progress: 2622 on 5896  Progress: 2623 on 5896  Progress: 2624 on 5896  Progress: 2625 on 5896  Progress: 2626 on 5896  Progress: 2627 on 5896  Progress: 2628 on 5896  Progress: 2629 on 5896  Progress: 2630 on 5896  Progress: 2631 on 5896  Progress: 2632 on 5896  Progress: 2633 on 5896  Progress: 2634 on 5896  Progress: 2635 on 5896  Progress: 2636 on 5896  Progress: 2637 on 5896  Progress: 2638 on 5896  Progress: 2639 on 5896  Progress: 2640 on 5896  Progress: 2641 on 5896  Progress: 2642 on 5896  Progress: 2643 on 5896  Progress: 2644 on 5896  Progress: 2645 on 5896  Progress: 2646 on 5896  Progress: 2647 on 5896  Progress: 2648 on 5896  Progress: 2649 on 5896  Progress: 2650 on 5896  Progress: 2651 on 5896  Progress: 2652 on 5896  Progress: 2653 on 5896  Progress: 2654 on 5896  Progress: 2655 on 5896  Progress: 2656 on 5896  Progress: 2657 on 5896  Progress: 2658 on 5896  Progress: 2659 on 5896  Progress: 2660 on 5896  Progress: 2661 on 5896  Progress: 2662 on 5896  Progress: 2663 on 5896  Progress: 2664 on 5896  Progress: 2665 on 5896  Progress: 2666 on 5896  Progress: 2667 on 5896  Progress: 2668 on 5896  Progress: 2669 on 5896  Progress: 2670 on 5896  Progress: 2671 on 5896  Progress: 2672 on 5896  Progress: 2673 on 5896  Progress: 2674 on 5896  Progress: 2675 on 5896  Progress: 2676 on 5896  Progress: 2677 on 5896  Progress: 2678 on 5896  Progress: 2679 on 5896  Progress: 2680 on 5896  Progress: 2681 on 5896  Progress: 2682 on 5896  Progress: 2683 on 5896  Progress: 2684 on 5896  Progress: 2685 on 5896  Progress: 2686 on 5896  Progress: 2687 on 5896  Progress: 2688 on 5896  Progress: 2689 on 5896  Progress: 2690 on 5896  Progress: 2691 on 5896  Progress: 2692 on 5896  Progress: 2693 on 5896  Progress: 2694 on 5896  Progress: 2695 on 5896  Progress: 2696 on 5896  Progress: 2697 on 5896  Progress: 2698 on 5896  Progress: 2699 on 5896  Progress: 2700 on 5896  Progress: 2701 on 5896  Progress: 2702 on 5896  Progress: 2703 on 5896  Progress: 2704 on 5896  Progress: 2705 on 5896  Progress: 2706 on 5896  Progress: 2707 on 5896  Progress: 2708 on 5896  Progress: 2709 on 5896  Progress: 2710 on 5896  Progress: 2711 on 5896  Progress: 2712 on 5896  Progress: 2713 on 5896  Progress: 2714 on 5896  Progress: 2715 on 5896  Progress: 2716 on 5896  Progress: 2717 on 5896  Progress: 2718 on 5896  Progress: 2719 on 5896  Progress: 2720 on 5896  Progress: 2721 on 5896  Progress: 2722 on 5896  Progress: 2723 on 5896  Progress: 2724 on 5896  Progress: 2725 on 5896  Progress: 2726 on 5896  Progress: 2727 on 5896  Progress: 2728 on 5896  Progress: 2729 on 5896  Progress: 2730 on 5896  Progress: 2731 on 5896  Progress: 2732 on 5896  Progress: 2733 on 5896  Progress: 2734 on 5896  Progress: 2735 on 5896  Progress: 2736 on 5896  Progress: 2737 on 5896  Progress: 2738 on 5896  Progress: 2739 on 5896  Progress: 2740 on 5896  Progress: 2741 on 5896  Progress: 2742 on 5896  Progress: 2743 on 5896  Progress: 2744 on 5896  Progress: 2745 on 5896  Progress: 2746 on 5896  Progress: 2747 on 5896  Progress: 2748 on 5896  Progress: 2749 on 5896  Progress: 2750 on 5896  Progress: 2751 on 5896  Progress: 2752 on 5896  Progress: 2753 on 5896  Progress: 2754 on 5896  Progress: 2755 on 5896  Progress: 2756 on 5896  Progress: 2757 on 5896  Progress: 2758 on 5896  Progress: 2759 on 5896  Progress: 2760 on 5896  Progress: 2761 on 5896  Progress: 2762 on 5896  Progress: 2763 on 5896  Progress: 2764 on 5896  Progress: 2765 on 5896  Progress: 2766 on 5896  Progress: 2767 on 5896  Progress: 2768 on 5896  Progress: 2769 on 5896  Progress: 2770 on 5896  Progress: 2771 on 5896  Progress: 2772 on 5896  Progress: 2773 on 5896  Progress: 2774 on 5896  Progress: 2775 on 5896  Progress: 2776 on 5896  Progress: 2777 on 5896  Progress: 2778 on 5896  Progress: 2779 on 5896  Progress: 2780 on 5896  Progress: 2781 on 5896  Progress: 2782 on 5896  Progress: 2783 on 5896  Progress: 2784 on 5896  Progress: 2785 on 5896  Progress: 2786 on 5896  Progress: 2787 on 5896  Progress: 2788 on 5896  Progress: 2789 on 5896  Progress: 2790 on 5896  Progress: 2791 on 5896  Progress: 2792 on 5896  Progress: 2793 on 5896  Progress: 2794 on 5896  Progress: 2795 on 5896  Progress: 2796 on 5896  Progress: 2797 on 5896  Progress: 2798 on 5896  Progress: 2799 on 5896  Progress: 2800 on 5896  Progress: 2801 on 5896  Progress: 2802 on 5896  Progress: 2803 on 5896  Progress: 2804 on 5896  Progress: 2805 on 5896  Progress: 2806 on 5896  Progress: 2807 on 5896  Progress: 2808 on 5896  Progress: 2809 on 5896  Progress: 2810 on 5896  Progress: 2811 on 5896  Progress: 2812 on 5896  Progress: 2813 on 5896  Progress: 2814 on 5896  Progress: 2815 on 5896  Progress: 2816 on 5896  Progress: 2817 on 5896  Progress: 2818 on 5896  Progress: 2819 on 5896  Progress: 2820 on 5896  Progress: 2821 on 5896  Progress: 2822 on 5896  Progress: 2823 on 5896  Progress: 2824 on 5896  Progress: 2825 on 5896  Progress: 2826 on 5896  Progress: 2827 on 5896  Progress: 2828 on 5896  Progress: 2829 on 5896  Progress: 2830 on 5896  Progress: 2831 on 5896  Progress: 2832 on 5896  Progress: 2833 on 5896  Progress: 2834 on 5896  Progress: 2835 on 5896  Progress: 2836 on 5896  Progress: 2837 on 5896  Progress: 2838 on 5896  Progress: 2839 on 5896  Progress: 2840 on 5896  Progress: 2841 on 5896  Progress: 2842 on 5896  Progress: 2843 on 5896  Progress: 2844 on 5896  Progress: 2845 on 5896  Progress: 2846 on 5896  Progress: 2847 on 5896  Progress: 2848 on 5896  Progress: 2849 on 5896  Progress: 2850 on 5896  Progress: 2851 on 5896  Progress: 2852 on 5896  Progress: 2853 on 5896  Progress: 2854 on 5896  Progress: 2855 on 5896  Progress: 2856 on 5896  Progress: 2857 on 5896  Progress: 2858 on 5896  Progress: 2859 on 5896  Progress: 2860 on 5896  Progress: 2861 on 5896  Progress: 2862 on 5896  Progress: 2863 on 5896  Progress: 2864 on 5896  Progress: 2865 on 5896  Progress: 2866 on 5896  Progress: 2867 on 5896  Progress: 2868 on 5896  Progress: 2869 on 5896  Progress: 2870 on 5896  Progress: 2871 on 5896  Progress: 2872 on 5896  Progress: 2873 on 5896  Progress: 2874 on 5896  Progress: 2875 on 5896  Progress: 2876 on 5896  Progress: 2877 on 5896  Progress: 2878 on 5896  Progress: 2879 on 5896  Progress: 2880 on 5896  Progress: 2881 on 5896  Progress: 2882 on 5896  Progress: 2883 on 5896  Progress: 2884 on 5896  Progress: 2885 on 5896  Progress: 2886 on 5896  Progress: 2887 on 5896  Progress: 2888 on 5896  Progress: 2889 on 5896  Progress: 2890 on 5896  Progress: 2891 on 5896  Progress: 2892 on 5896  Progress: 2893 on 5896  Progress: 2894 on 5896  Progress: 2895 on 5896  Progress: 2896 on 5896  Progress: 2897 on 5896  Progress: 2898 on 5896  Progress: 2899 on 5896  Progress: 2900 on 5896  Progress: 2901 on 5896  Progress: 2902 on 5896  Progress: 2903 on 5896  Progress: 2904 on 5896  Progress: 2905 on 5896  Progress: 2906 on 5896  Progress: 2907 on 5896  Progress: 2908 on 5896  Progress: 2909 on 5896  Progress: 2910 on 5896  Progress: 2911 on 5896  Progress: 2912 on 5896  Progress: 2913 on 5896  Progress: 2914 on 5896  Progress: 2915 on 5896  Progress: 2916 on 5896  Progress: 2917 on 5896  Progress: 2918 on 5896  Progress: 2919 on 5896  Progress: 2920 on 5896  Progress: 2921 on 5896  Progress: 2922 on 5896  Progress: 2923 on 5896  Progress: 2924 on 5896  Progress: 2925 on 5896  Progress: 2926 on 5896  Progress: 2927 on 5896  Progress: 2928 on 5896  Progress: 2929 on 5896  Progress: 2930 on 5896  Progress: 2931 on 5896  Progress: 2932 on 5896  Progress: 2933 on 5896  Progress: 2934 on 5896  Progress: 2935 on 5896  Progress: 2936 on 5896  Progress: 2937 on 5896  Progress: 2938 on 5896  Progress: 2939 on 5896  Progress: 2940 on 5896  Progress: 2941 on 5896  Progress: 2942 on 5896  Progress: 2943 on 5896  Progress: 2944 on 5896  Progress: 2945 on 5896  Progress: 2946 on 5896  Progress: 2947 on 5896  Progress: 2948 on 5896  Progress: 2949 on 5896  Progress: 2950 on 5896  Progress: 2951 on 5896  Progress: 2952 on 5896  Progress: 2953 on 5896  Progress: 2954 on 5896  Progress: 2955 on 5896  Progress: 2956 on 5896  Progress: 2957 on 5896  Progress: 2958 on 5896  Progress: 2959 on 5896  Progress: 2960 on 5896  Progress: 2961 on 5896  Progress: 2962 on 5896  Progress: 2963 on 5896  Progress: 2964 on 5896  Progress: 2965 on 5896  Progress: 2966 on 5896  Progress: 2967 on 5896  Progress: 2968 on 5896  Progress: 2969 on 5896  Progress: 2970 on 5896  Progress: 2971 on 5896  Progress: 2972 on 5896  Progress: 2973 on 5896  Progress: 2974 on 5896  Progress: 2975 on 5896  Progress: 2976 on 5896  Progress: 2977 on 5896  Progress: 2978 on 5896  Progress: 2979 on 5896  Progress: 2980 on 5896  Progress: 2981 on 5896  Progress: 2982 on 5896  Progress: 2983 on 5896  Progress: 2984 on 5896  Progress: 2985 on 5896  Progress: 2986 on 5896  Progress: 2987 on 5896  Progress: 2988 on 5896  Progress: 2989 on 5896  Progress: 2990 on 5896  Progress: 2991 on 5896  Progress: 2992 on 5896  Progress: 2993 on 5896  Progress: 2994 on 5896  Progress: 2995 on 5896  Progress: 2996 on 5896  Progress: 2997 on 5896  Progress: 2998 on 5896  Progress: 2999 on 5896  Progress: 3000 on 5896  Progress: 3001 on 5896  Progress: 3002 on 5896  Progress: 3003 on 5896  Progress: 3004 on 5896  Progress: 3005 on 5896  Progress: 3006 on 5896  Progress: 3007 on 5896  Progress: 3008 on 5896  Progress: 3009 on 5896  Progress: 3010 on 5896  Progress: 3011 on 5896  Progress: 3012 on 5896  Progress: 3013 on 5896  Progress: 3014 on 5896  Progress: 3015 on 5896  Progress: 3016 on 5896  Progress: 3017 on 5896  Progress: 3018 on 5896  Progress: 3019 on 5896  Progress: 3020 on 5896  Progress: 3021 on 5896  Progress: 3022 on 5896  Progress: 3023 on 5896  Progress: 3024 on 5896  Progress: 3025 on 5896  Progress: 3026 on 5896  Progress: 3027 on 5896  Progress: 3028 on 5896  Progress: 3029 on 5896  Progress: 3030 on 5896  Progress: 3031 on 5896  Progress: 3032 on 5896  Progress: 3033 on 5896  Progress: 3034 on 5896  Progress: 3035 on 5896  Progress: 3036 on 5896  Progress: 3037 on 5896  Progress: 3038 on 5896  Progress: 3039 on 5896  Progress: 3040 on 5896  Progress: 3041 on 5896  Progress: 3042 on 5896  Progress: 3043 on 5896  Progress: 3044 on 5896  Progress: 3045 on 5896  Progress: 3046 on 5896  Progress: 3047 on 5896  Progress: 3048 on 5896  Progress: 3049 on 5896  Progress: 3050 on 5896  Progress: 3051 on 5896  Progress: 3052 on 5896  Progress: 3053 on 5896  Progress: 3054 on 5896  Progress: 3055 on 5896  Progress: 3056 on 5896  Progress: 3057 on 5896  Progress: 3058 on 5896  Progress: 3059 on 5896  Progress: 3060 on 5896  Progress: 3061 on 5896  Progress: 3062 on 5896  Progress: 3063 on 5896  Progress: 3064 on 5896  Progress: 3065 on 5896  Progress: 3066 on 5896  Progress: 3067 on 5896  Progress: 3068 on 5896  Progress: 3069 on 5896  Progress: 3070 on 5896  Progress: 3071 on 5896  Progress: 3072 on 5896  Progress: 3073 on 5896  Progress: 3074 on 5896  Progress: 3075 on 5896  Progress: 3076 on 5896  Progress: 3077 on 5896  Progress: 3078 on 5896  Progress: 3079 on 5896  Progress: 3080 on 5896  Progress: 3081 on 5896  Progress: 3082 on 5896  Progress: 3083 on 5896  Progress: 3084 on 5896  Progress: 3085 on 5896  Progress: 3086 on 5896  Progress: 3087 on 5896  Progress: 3088 on 5896  Progress: 3089 on 5896  Progress: 3090 on 5896  Progress: 3091 on 5896  Progress: 3092 on 5896  Progress: 3093 on 5896  Progress: 3094 on 5896  Progress: 3095 on 5896  Progress: 3096 on 5896  Progress: 3097 on 5896  Progress: 3098 on 5896  Progress: 3099 on 5896  Progress: 3100 on 5896  Progress: 3101 on 5896  Progress: 3102 on 5896  Progress: 3103 on 5896  Progress: 3104 on 5896  Progress: 3105 on 5896  Progress: 3106 on 5896  Progress: 3107 on 5896  Progress: 3108 on 5896  Progress: 3109 on 5896  Progress: 3110 on 5896  Progress: 3111 on 5896  Progress: 3112 on 5896  Progress: 3113 on 5896  Progress: 3114 on 5896  Progress: 3115 on 5896  Progress: 3116 on 5896  Progress: 3117 on 5896  Progress: 3118 on 5896  Progress: 3119 on 5896  Progress: 3120 on 5896  Progress: 3121 on 5896  Progress: 3122 on 5896  Progress: 3123 on 5896  Progress: 3124 on 5896  Progress: 3125 on 5896  Progress: 3126 on 5896  Progress: 3127 on 5896  Progress: 3128 on 5896  Progress: 3129 on 5896  Progress: 3130 on 5896  Progress: 3131 on 5896  Progress: 3132 on 5896  Progress: 3133 on 5896  Progress: 3134 on 5896  Progress: 3135 on 5896  Progress: 3136 on 5896  Progress: 3137 on 5896  Progress: 3138 on 5896  Progress: 3139 on 5896  Progress: 3140 on 5896  Progress: 3141 on 5896  Progress: 3142 on 5896  Progress: 3143 on 5896  Progress: 3144 on 5896  Progress: 3145 on 5896  Progress: 3146 on 5896  Progress: 3147 on 5896  Progress: 3148 on 5896  Progress: 3149 on 5896  Progress: 3150 on 5896  Progress: 3151 on 5896  Progress: 3152 on 5896  Progress: 3153 on 5896  Progress: 3154 on 5896  Progress: 3155 on 5896  Progress: 3156 on 5896  Progress: 3157 on 5896  Progress: 3158 on 5896  Progress: 3159 on 5896  Progress: 3160 on 5896  Progress: 3161 on 5896  Progress: 3162 on 5896  Progress: 3163 on 5896  Progress: 3164 on 5896  Progress: 3165 on 5896  Progress: 3166 on 5896  Progress: 3167 on 5896  Progress: 3168 on 5896  Progress: 3169 on 5896  Progress: 3170 on 5896  Progress: 3171 on 5896  Progress: 3172 on 5896  Progress: 3173 on 5896  Progress: 3174 on 5896  Progress: 3175 on 5896  Progress: 3176 on 5896  Progress: 3177 on 5896  Progress: 3178 on 5896  Progress: 3179 on 5896  Progress: 3180 on 5896  Progress: 3181 on 5896  Progress: 3182 on 5896  Progress: 3183 on 5896  Progress: 3184 on 5896  Progress: 3185 on 5896  Progress: 3186 on 5896  Progress: 3187 on 5896  Progress: 3188 on 5896  Progress: 3189 on 5896  Progress: 3190 on 5896  Progress: 3191 on 5896  Progress: 3192 on 5896  Progress: 3193 on 5896  Progress: 3194 on 5896  Progress: 3195 on 5896  Progress: 3196 on 5896  Progress: 3197 on 5896  Progress: 3198 on 5896  Progress: 3199 on 5896  Progress: 3200 on 5896  Progress: 3201 on 5896  Progress: 3202 on 5896  Progress: 3203 on 5896  Progress: 3204 on 5896  Progress: 3205 on 5896  Progress: 3206 on 5896  Progress: 3207 on 5896  Progress: 3208 on 5896  Progress: 3209 on 5896  Progress: 3210 on 5896  Progress: 3211 on 5896  Progress: 3212 on 5896  Progress: 3213 on 5896  Progress: 3214 on 5896  Progress: 3215 on 5896  Progress: 3216 on 5896  Progress: 3217 on 5896  Progress: 3218 on 5896  Progress: 3219 on 5896  Progress: 3220 on 5896  Progress: 3221 on 5896  Progress: 3222 on 5896  Progress: 3223 on 5896  Progress: 3224 on 5896  Progress: 3225 on 5896  Progress: 3226 on 5896  Progress: 3227 on 5896  Progress: 3228 on 5896  Progress: 3229 on 5896  Progress: 3230 on 5896  Progress: 3231 on 5896  Progress: 3232 on 5896  Progress: 3233 on 5896  Progress: 3234 on 5896  Progress: 3235 on 5896  Progress: 3236 on 5896  Progress: 3237 on 5896  Progress: 3238 on 5896  Progress: 3239 on 5896  Progress: 3240 on 5896  Progress: 3241 on 5896  Progress: 3242 on 5896  Progress: 3243 on 5896  Progress: 3244 on 5896  Progress: 3245 on 5896  Progress: 3246 on 5896  Progress: 3247 on 5896  Progress: 3248 on 5896  Progress: 3249 on 5896  Progress: 3250 on 5896  Progress: 3251 on 5896  Progress: 3252 on 5896  Progress: 3253 on 5896  Progress: 3254 on 5896  Progress: 3255 on 5896  Progress: 3256 on 5896  Progress: 3257 on 5896  Progress: 3258 on 5896  Progress: 3259 on 5896  Progress: 3260 on 5896  Progress: 3261 on 5896  Progress: 3262 on 5896  Progress: 3263 on 5896  Progress: 3264 on 5896  Progress: 3265 on 5896  Progress: 3266 on 5896  Progress: 3267 on 5896  Progress: 3268 on 5896  Progress: 3269 on 5896  Progress: 3270 on 5896  Progress: 3271 on 5896  Progress: 3272 on 5896  Progress: 3273 on 5896  Progress: 3274 on 5896  Progress: 3275 on 5896  Progress: 3276 on 5896  Progress: 3277 on 5896  Progress: 3278 on 5896  Progress: 3279 on 5896  Progress: 3280 on 5896  Progress: 3281 on 5896  Progress: 3282 on 5896  Progress: 3283 on 5896  Progress: 3284 on 5896  Progress: 3285 on 5896  Progress: 3286 on 5896  Progress: 3287 on 5896  Progress: 3288 on 5896  Progress: 3289 on 5896  Progress: 3290 on 5896  Progress: 3291 on 5896  Progress: 3292 on 5896  Progress: 3293 on 5896  Progress: 3294 on 5896  Progress: 3295 on 5896  Progress: 3296 on 5896  Progress: 3297 on 5896  Progress: 3298 on 5896  Progress: 3299 on 5896  Progress: 3300 on 5896  Progress: 3301 on 5896  Progress: 3302 on 5896  Progress: 3303 on 5896  Progress: 3304 on 5896  Progress: 3305 on 5896  Progress: 3306 on 5896  Progress: 3307 on 5896  Progress: 3308 on 5896  Progress: 3309 on 5896  Progress: 3310 on 5896  Progress: 3311 on 5896  Progress: 3312 on 5896  Progress: 3313 on 5896  Progress: 3314 on 5896  Progress: 3315 on 5896  Progress: 3316 on 5896  Progress: 3317 on 5896  Progress: 3318 on 5896  Progress: 3319 on 5896  Progress: 3320 on 5896  Progress: 3321 on 5896  Progress: 3322 on 5896  Progress: 3323 on 5896  Progress: 3324 on 5896  Progress: 3325 on 5896  Progress: 3326 on 5896  Progress: 3327 on 5896  Progress: 3328 on 5896  Progress: 3329 on 5896  Progress: 3330 on 5896  Progress: 3331 on 5896  Progress: 3332 on 5896  Progress: 3333 on 5896  Progress: 3334 on 5896  Progress: 3335 on 5896  Progress: 3336 on 5896  Progress: 3337 on 5896  Progress: 3338 on 5896  Progress: 3339 on 5896  Progress: 3340 on 5896  Progress: 3341 on 5896  Progress: 3342 on 5896  Progress: 3343 on 5896  Progress: 3344 on 5896  Progress: 3345 on 5896  Progress: 3346 on 5896  Progress: 3347 on 5896  Progress: 3348 on 5896  Progress: 3349 on 5896  Progress: 3350 on 5896  Progress: 3351 on 5896  Progress: 3352 on 5896  Progress: 3353 on 5896  Progress: 3354 on 5896  Progress: 3355 on 5896  Progress: 3356 on 5896  Progress: 3357 on 5896  Progress: 3358 on 5896  Progress: 3359 on 5896  Progress: 3360 on 5896  Progress: 3361 on 5896  Progress: 3362 on 5896  Progress: 3363 on 5896  Progress: 3364 on 5896  Progress: 3365 on 5896  Progress: 3366 on 5896  Progress: 3367 on 5896  Progress: 3368 on 5896  Progress: 3369 on 5896  Progress: 3370 on 5896  Progress: 3371 on 5896  Progress: 3372 on 5896  Progress: 3373 on 5896  Progress: 3374 on 5896  Progress: 3375 on 5896  Progress: 3376 on 5896  Progress: 3377 on 5896  Progress: 3378 on 5896  Progress: 3379 on 5896  Progress: 3380 on 5896  Progress: 3381 on 5896  Progress: 3382 on 5896  Progress: 3383 on 5896  Progress: 3384 on 5896  Progress: 3385 on 5896  Progress: 3386 on 5896  Progress: 3387 on 5896  Progress: 3388 on 5896  Progress: 3389 on 5896  Progress: 3390 on 5896  Progress: 3391 on 5896  Progress: 3392 on 5896  Progress: 3393 on 5896  Progress: 3394 on 5896  Progress: 3395 on 5896  Progress: 3396 on 5896  Progress: 3397 on 5896  Progress: 3398 on 5896  Progress: 3399 on 5896  Progress: 3400 on 5896  Progress: 3401 on 5896  Progress: 3402 on 5896  Progress: 3403 on 5896  Progress: 3404 on 5896  Progress: 3405 on 5896  Progress: 3406 on 5896  Progress: 3407 on 5896  Progress: 3408 on 5896  Progress: 3409 on 5896  Progress: 3410 on 5896  Progress: 3411 on 5896  Progress: 3412 on 5896  Progress: 3413 on 5896  Progress: 3414 on 5896  Progress: 3415 on 5896  Progress: 3416 on 5896  Progress: 3417 on 5896  Progress: 3418 on 5896  Progress: 3419 on 5896  Progress: 3420 on 5896  Progress: 3421 on 5896  Progress: 3422 on 5896  Progress: 3423 on 5896  Progress: 3424 on 5896  Progress: 3425 on 5896  Progress: 3426 on 5896  Progress: 3427 on 5896  Progress: 3428 on 5896  Progress: 3429 on 5896  Progress: 3430 on 5896  Progress: 3431 on 5896  Progress: 3432 on 5896  Progress: 3433 on 5896  Progress: 3434 on 5896  Progress: 3435 on 5896  Progress: 3436 on 5896  Progress: 3437 on 5896  Progress: 3438 on 5896  Progress: 3439 on 5896  Progress: 3440 on 5896  Progress: 3441 on 5896  Progress: 3442 on 5896  Progress: 3443 on 5896  Progress: 3444 on 5896  Progress: 3445 on 5896  Progress: 3446 on 5896  Progress: 3447 on 5896  Progress: 3448 on 5896  Progress: 3449 on 5896  Progress: 3450 on 5896  Progress: 3451 on 5896  Progress: 3452 on 5896  Progress: 3453 on 5896  Progress: 3454 on 5896  Progress: 3455 on 5896  Progress: 3456 on 5896  Progress: 3457 on 5896  Progress: 3458 on 5896  Progress: 3459 on 5896  Progress: 3460 on 5896  Progress: 3461 on 5896  Progress: 3462 on 5896  Progress: 3463 on 5896  Progress: 3464 on 5896  Progress: 3465 on 5896  Progress: 3466 on 5896  Progress: 3467 on 5896  Progress: 3468 on 5896  Progress: 3469 on 5896  Progress: 3470 on 5896  Progress: 3471 on 5896  Progress: 3472 on 5896  Progress: 3473 on 5896  Progress: 3474 on 5896  Progress: 3475 on 5896  Progress: 3476 on 5896  Progress: 3477 on 5896  Progress: 3478 on 5896  Progress: 3479 on 5896  Progress: 3480 on 5896  Progress: 3481 on 5896  Progress: 3482 on 5896  Progress: 3483 on 5896  Progress: 3484 on 5896  Progress: 3485 on 5896  Progress: 3486 on 5896  Progress: 3487 on 5896  Progress: 3488 on 5896  Progress: 3489 on 5896  Progress: 3490 on 5896  Progress: 3491 on 5896  Progress: 3492 on 5896  Progress: 3493 on 5896  Progress: 3494 on 5896  Progress: 3495 on 5896  Progress: 3496 on 5896  Progress: 3497 on 5896  Progress: 3498 on 5896  Progress: 3499 on 5896  Progress: 3500 on 5896  Progress: 3501 on 5896  Progress: 3502 on 5896  Progress: 3503 on 5896  Progress: 3504 on 5896  Progress: 3505 on 5896  Progress: 3506 on 5896  Progress: 3507 on 5896  Progress: 3508 on 5896  Progress: 3509 on 5896  Progress: 3510 on 5896  Progress: 3511 on 5896  Progress: 3512 on 5896  Progress: 3513 on 5896  Progress: 3514 on 5896  Progress: 3515 on 5896  Progress: 3516 on 5896  Progress: 3517 on 5896  Progress: 3518 on 5896  Progress: 3519 on 5896  Progress: 3520 on 5896  Progress: 3521 on 5896  Progress: 3522 on 5896  Progress: 3523 on 5896  Progress: 3524 on 5896  Progress: 3525 on 5896  Progress: 3526 on 5896  Progress: 3527 on 5896  Progress: 3528 on 5896  Progress: 3529 on 5896  Progress: 3530 on 5896  Progress: 3531 on 5896  Progress: 3532 on 5896  Progress: 3533 on 5896  Progress: 3534 on 5896  Progress: 3535 on 5896  Progress: 3536 on 5896  Progress: 3537 on 5896  Progress: 3538 on 5896  Progress: 3539 on 5896  Progress: 3540 on 5896  Progress: 3541 on 5896  Progress: 3542 on 5896  Progress: 3543 on 5896  Progress: 3544 on 5896  Progress: 3545 on 5896  Progress: 3546 on 5896  Progress: 3547 on 5896  Progress: 3548 on 5896  Progress: 3549 on 5896  Progress: 3550 on 5896  Progress: 3551 on 5896  Progress: 3552 on 5896  Progress: 3553 on 5896  Progress: 3554 on 5896  Progress: 3555 on 5896  Progress: 3556 on 5896  Progress: 3557 on 5896  Progress: 3558 on 5896  Progress: 3559 on 5896  Progress: 3560 on 5896  Progress: 3561 on 5896  Progress: 3562 on 5896  Progress: 3563 on 5896  Progress: 3564 on 5896  Progress: 3565 on 5896  Progress: 3566 on 5896  Progress: 3567 on 5896  Progress: 3568 on 5896  Progress: 3569 on 5896  Progress: 3570 on 5896  Progress: 3571 on 5896  Progress: 3572 on 5896  Progress: 3573 on 5896  Progress: 3574 on 5896  Progress: 3575 on 5896  Progress: 3576 on 5896  Progress: 3577 on 5896  Progress: 3578 on 5896  Progress: 3579 on 5896  Progress: 3580 on 5896  Progress: 3581 on 5896  Progress: 3582 on 5896  Progress: 3583 on 5896  Progress: 3584 on 5896  Progress: 3585 on 5896  Progress: 3586 on 5896  Progress: 3587 on 5896  Progress: 3588 on 5896  Progress: 3589 on 5896  Progress: 3590 on 5896  Progress: 3591 on 5896  Progress: 3592 on 5896  Progress: 3593 on 5896  Progress: 3594 on 5896  Progress: 3595 on 5896  Progress: 3596 on 5896  Progress: 3597 on 5896  Progress: 3598 on 5896  Progress: 3599 on 5896  Progress: 3600 on 5896  Progress: 3601 on 5896  Progress: 3602 on 5896  Progress: 3603 on 5896  Progress: 3604 on 5896  Progress: 3605 on 5896  Progress: 3606 on 5896  Progress: 3607 on 5896  Progress: 3608 on 5896  Progress: 3609 on 5896  Progress: 3610 on 5896  Progress: 3611 on 5896  Progress: 3612 on 5896  Progress: 3613 on 5896  Progress: 3614 on 5896  Progress: 3615 on 5896  Progress: 3616 on 5896  Progress: 3617 on 5896  Progress: 3618 on 5896  Progress: 3619 on 5896  Progress: 3620 on 5896  Progress: 3621 on 5896  Progress: 3622 on 5896  Progress: 3623 on 5896  Progress: 3624 on 5896  Progress: 3625 on 5896  Progress: 3626 on 5896  Progress: 3627 on 5896  Progress: 3628 on 5896  Progress: 3629 on 5896  Progress: 3630 on 5896  Progress: 3631 on 5896  Progress: 3632 on 5896  Progress: 3633 on 5896  Progress: 3634 on 5896  Progress: 3635 on 5896  Progress: 3636 on 5896  Progress: 3637 on 5896  Progress: 3638 on 5896  Progress: 3639 on 5896  Progress: 3640 on 5896  Progress: 3641 on 5896  Progress: 3642 on 5896  Progress: 3643 on 5896  Progress: 3644 on 5896  Progress: 3645 on 5896  Progress: 3646 on 5896  Progress: 3647 on 5896  Progress: 3648 on 5896  Progress: 3649 on 5896  Progress: 3650 on 5896  Progress: 3651 on 5896  Progress: 3652 on 5896  Progress: 3653 on 5896  Progress: 3654 on 5896  Progress: 3655 on 5896  Progress: 3656 on 5896  Progress: 3657 on 5896  Progress: 3658 on 5896  Progress: 3659 on 5896  Progress: 3660 on 5896  Progress: 3661 on 5896  Progress: 3662 on 5896  Progress: 3663 on 5896  Progress: 3664 on 5896  Progress: 3665 on 5896  Progress: 3666 on 5896  Progress: 3667 on 5896  Progress: 3668 on 5896  Progress: 3669 on 5896  Progress: 3670 on 5896  Progress: 3671 on 5896  Progress: 3672 on 5896  Progress: 3673 on 5896  Progress: 3674 on 5896  Progress: 3675 on 5896  Progress: 3676 on 5896  Progress: 3677 on 5896  Progress: 3678 on 5896  Progress: 3679 on 5896  Progress: 3680 on 5896  Progress: 3681 on 5896  Progress: 3682 on 5896  Progress: 3683 on 5896  Progress: 3684 on 5896  Progress: 3685 on 5896  Progress: 3686 on 5896  Progress: 3687 on 5896  Progress: 3688 on 5896  Progress: 3689 on 5896  Progress: 3690 on 5896  Progress: 3691 on 5896  Progress: 3692 on 5896  Progress: 3693 on 5896  Progress: 3694 on 5896  Progress: 3695 on 5896  Progress: 3696 on 5896  Progress: 3697 on 5896  Progress: 3698 on 5896  Progress: 3699 on 5896  Progress: 3700 on 5896  Progress: 3701 on 5896  Progress: 3702 on 5896  Progress: 3703 on 5896  Progress: 3704 on 5896  Progress: 3705 on 5896  Progress: 3706 on 5896  Progress: 3707 on 5896  Progress: 3708 on 5896  Progress: 3709 on 5896  Progress: 3710 on 5896  Progress: 3711 on 5896  Progress: 3712 on 5896  Progress: 3713 on 5896  Progress: 3714 on 5896  Progress: 3715 on 5896  Progress: 3716 on 5896  Progress: 3717 on 5896  Progress: 3718 on 5896  Progress: 3719 on 5896  Progress: 3720 on 5896  Progress: 3721 on 5896  Progress: 3722 on 5896  Progress: 3723 on 5896  Progress: 3724 on 5896  Progress: 3725 on 5896  Progress: 3726 on 5896  Progress: 3727 on 5896  Progress: 3728 on 5896  Progress: 3729 on 5896  Progress: 3730 on 5896  Progress: 3731 on 5896  Progress: 3732 on 5896  Progress: 3733 on 5896  Progress: 3734 on 5896  Progress: 3735 on 5896  Progress: 3736 on 5896  Progress: 3737 on 5896  Progress: 3738 on 5896  Progress: 3739 on 5896  Progress: 3740 on 5896  Progress: 3741 on 5896  Progress: 3742 on 5896  Progress: 3743 on 5896  Progress: 3744 on 5896  Progress: 3745 on 5896  Progress: 3746 on 5896  Progress: 3747 on 5896  Progress: 3748 on 5896  Progress: 3749 on 5896  Progress: 3750 on 5896  Progress: 3751 on 5896  Progress: 3752 on 5896  Progress: 3753 on 5896  Progress: 3754 on 5896  Progress: 3755 on 5896  Progress: 3756 on 5896  Progress: 3757 on 5896  Progress: 3758 on 5896  Progress: 3759 on 5896  Progress: 3760 on 5896  Progress: 3761 on 5896  Progress: 3762 on 5896  Progress: 3763 on 5896  Progress: 3764 on 5896  Progress: 3765 on 5896  Progress: 3766 on 5896  Progress: 3767 on 5896  Progress: 3768 on 5896  Progress: 3769 on 5896  Progress: 3770 on 5896  Progress: 3771 on 5896  Progress: 3772 on 5896  Progress: 3773 on 5896  Progress: 3774 on 5896  Progress: 3775 on 5896  Progress: 3776 on 5896  Progress: 3777 on 5896  Progress: 3778 on 5896  Progress: 3779 on 5896  Progress: 3780 on 5896  Progress: 3781 on 5896  Progress: 3782 on 5896  Progress: 3783 on 5896  Progress: 3784 on 5896  Progress: 3785 on 5896  Progress: 3786 on 5896  Progress: 3787 on 5896  Progress: 3788 on 5896  Progress: 3789 on 5896  Progress: 3790 on 5896  Progress: 3791 on 5896  Progress: 3792 on 5896  Progress: 3793 on 5896  Progress: 3794 on 5896  Progress: 3795 on 5896  Progress: 3796 on 5896  Progress: 3797 on 5896  Progress: 3798 on 5896  Progress: 3799 on 5896  Progress: 3800 on 5896  Progress: 3801 on 5896  Progress: 3802 on 5896  Progress: 3803 on 5896  Progress: 3804 on 5896  Progress: 3805 on 5896  Progress: 3806 on 5896  Progress: 3807 on 5896  Progress: 3808 on 5896  Progress: 3809 on 5896  Progress: 3810 on 5896  Progress: 3811 on 5896  Progress: 3812 on 5896  Progress: 3813 on 5896  Progress: 3814 on 5896  Progress: 3815 on 5896  Progress: 3816 on 5896  Progress: 3817 on 5896  Progress: 3818 on 5896  Progress: 3819 on 5896  Progress: 3820 on 5896  Progress: 3821 on 5896  Progress: 3822 on 5896  Progress: 3823 on 5896  Progress: 3824 on 5896  Progress: 3825 on 5896  Progress: 3826 on 5896  Progress: 3827 on 5896  Progress: 3828 on 5896  Progress: 3829 on 5896  Progress: 3830 on 5896  Progress: 3831 on 5896  Progress: 3832 on 5896  Progress: 3833 on 5896  Progress: 3834 on 5896  Progress: 3835 on 5896  Progress: 3836 on 5896  Progress: 3837 on 5896  Progress: 3838 on 5896  Progress: 3839 on 5896  Progress: 3840 on 5896  Progress: 3841 on 5896  Progress: 3842 on 5896  Progress: 3843 on 5896  Progress: 3844 on 5896  Progress: 3845 on 5896  Progress: 3846 on 5896  Progress: 3847 on 5896  Progress: 3848 on 5896  Progress: 3849 on 5896  Progress: 3850 on 5896  Progress: 3851 on 5896  Progress: 3852 on 5896  Progress: 3853 on 5896  Progress: 3854 on 5896  Progress: 3855 on 5896  Progress: 3856 on 5896  Progress: 3857 on 5896  Progress: 3858 on 5896  Progress: 3859 on 5896  Progress: 3860 on 5896  Progress: 3861 on 5896  Progress: 3862 on 5896  Progress: 3863 on 5896  Progress: 3864 on 5896  Progress: 3865 on 5896  Progress: 3866 on 5896  Progress: 3867 on 5896  Progress: 3868 on 5896  Progress: 3869 on 5896  Progress: 3870 on 5896  Progress: 3871 on 5896  Progress: 3872 on 5896  Progress: 3873 on 5896  Progress: 3874 on 5896  Progress: 3875 on 5896  Progress: 3876 on 5896  Progress: 3877 on 5896  Progress: 3878 on 5896  Progress: 3879 on 5896  Progress: 3880 on 5896  Progress: 3881 on 5896  Progress: 3882 on 5896  Progress: 3883 on 5896  Progress: 3884 on 5896  Progress: 3885 on 5896  Progress: 3886 on 5896  Progress: 3887 on 5896  Progress: 3888 on 5896  Progress: 3889 on 5896  Progress: 3890 on 5896  Progress: 3891 on 5896  Progress: 3892 on 5896  Progress: 3893 on 5896  Progress: 3894 on 5896  Progress: 3895 on 5896  Progress: 3896 on 5896  Progress: 3897 on 5896  Progress: 3898 on 5896  Progress: 3899 on 5896  Progress: 3900 on 5896  Progress: 3901 on 5896  Progress: 3902 on 5896  Progress: 3903 on 5896  Progress: 3904 on 5896  Progress: 3905 on 5896  Progress: 3906 on 5896  Progress: 3907 on 5896  Progress: 3908 on 5896  Progress: 3909 on 5896  Progress: 3910 on 5896  Progress: 3911 on 5896  Progress: 3912 on 5896  Progress: 3913 on 5896  Progress: 3914 on 5896  Progress: 3915 on 5896  Progress: 3916 on 5896  Progress: 3917 on 5896  Progress: 3918 on 5896  Progress: 3919 on 5896  Progress: 3920 on 5896  Progress: 3921 on 5896  Progress: 3922 on 5896  Progress: 3923 on 5896  Progress: 3924 on 5896  Progress: 3925 on 5896  Progress: 3926 on 5896  Progress: 3927 on 5896  Progress: 3928 on 5896  Progress: 3929 on 5896  Progress: 3930 on 5896  Progress: 3931 on 5896  Progress: 3932 on 5896  Progress: 3933 on 5896  Progress: 3934 on 5896  Progress: 3935 on 5896  Progress: 3936 on 5896  Progress: 3937 on 5896  Progress: 3938 on 5896  Progress: 3939 on 5896  Progress: 3940 on 5896  Progress: 3941 on 5896  Progress: 3942 on 5896  Progress: 3943 on 5896  Progress: 3944 on 5896  Progress: 3945 on 5896  Progress: 3946 on 5896  Progress: 3947 on 5896  Progress: 3948 on 5896  Progress: 3949 on 5896  Progress: 3950 on 5896  Progress: 3951 on 5896  Progress: 3952 on 5896  Progress: 3953 on 5896  Progress: 3954 on 5896  Progress: 3955 on 5896  Progress: 3956 on 5896  Progress: 3957 on 5896  Progress: 3958 on 5896  Progress: 3959 on 5896  Progress: 3960 on 5896  Progress: 3961 on 5896  Progress: 3962 on 5896  Progress: 3963 on 5896  Progress: 3964 on 5896  Progress: 3965 on 5896  Progress: 3966 on 5896  Progress: 3967 on 5896  Progress: 3968 on 5896  Progress: 3969 on 5896  Progress: 3970 on 5896  Progress: 3971 on 5896  Progress: 3972 on 5896  Progress: 3973 on 5896  Progress: 3974 on 5896  Progress: 3975 on 5896  Progress: 3976 on 5896  Progress: 3977 on 5896  Progress: 3978 on 5896  Progress: 3979 on 5896  Progress: 3980 on 5896  Progress: 3981 on 5896  Progress: 3982 on 5896  Progress: 3983 on 5896  Progress: 3984 on 5896  Progress: 3985 on 5896  Progress: 3986 on 5896  Progress: 3987 on 5896  Progress: 3988 on 5896  Progress: 3989 on 5896  Progress: 3990 on 5896  Progress: 3991 on 5896  Progress: 3992 on 5896  Progress: 3993 on 5896  Progress: 3994 on 5896  Progress: 3995 on 5896  Progress: 3996 on 5896  Progress: 3997 on 5896  Progress: 3998 on 5896  Progress: 3999 on 5896  Progress: 4000 on 5896  Progress: 4001 on 5896  Progress: 4002 on 5896  Progress: 4003 on 5896  Progress: 4004 on 5896  Progress: 4005 on 5896  Progress: 4006 on 5896  Progress: 4007 on 5896  Progress: 4008 on 5896  Progress: 4009 on 5896  Progress: 4010 on 5896  Progress: 4011 on 5896  Progress: 4012 on 5896  Progress: 4013 on 5896  Progress: 4014 on 5896  Progress: 4015 on 5896  Progress: 4016 on 5896  Progress: 4017 on 5896  Progress: 4018 on 5896  Progress: 4019 on 5896  Progress: 4020 on 5896  Progress: 4021 on 5896  Progress: 4022 on 5896  Progress: 4023 on 5896  Progress: 4024 on 5896  Progress: 4025 on 5896  Progress: 4026 on 5896  Progress: 4027 on 5896  Progress: 4028 on 5896  Progress: 4029 on 5896  Progress: 4030 on 5896  Progress: 4031 on 5896  Progress: 4032 on 5896  Progress: 4033 on 5896  Progress: 4034 on 5896  Progress: 4035 on 5896  Progress: 4036 on 5896  Progress: 4037 on 5896  Progress: 4038 on 5896  Progress: 4039 on 5896  Progress: 4040 on 5896  Progress: 4041 on 5896  Progress: 4042 on 5896  Progress: 4043 on 5896  Progress: 4044 on 5896  Progress: 4045 on 5896  Progress: 4046 on 5896  Progress: 4047 on 5896  Progress: 4048 on 5896  Progress: 4049 on 5896  Progress: 4050 on 5896  Progress: 4051 on 5896  Progress: 4052 on 5896  Progress: 4053 on 5896  Progress: 4054 on 5896  Progress: 4055 on 5896  Progress: 4056 on 5896  Progress: 4057 on 5896  Progress: 4058 on 5896  Progress: 4059 on 5896  Progress: 4060 on 5896  Progress: 4061 on 5896  Progress: 4062 on 5896  Progress: 4063 on 5896  Progress: 4064 on 5896  Progress: 4065 on 5896  Progress: 4066 on 5896  Progress: 4067 on 5896  Progress: 4068 on 5896  Progress: 4069 on 5896  Progress: 4070 on 5896  Progress: 4071 on 5896  Progress: 4072 on 5896  Progress: 4073 on 5896  Progress: 4074 on 5896  Progress: 4075 on 5896  Progress: 4076 on 5896  Progress: 4077 on 5896  Progress: 4078 on 5896  Progress: 4079 on 5896  Progress: 4080 on 5896  Progress: 4081 on 5896  Progress: 4082 on 5896  Progress: 4083 on 5896  Progress: 4084 on 5896  Progress: 4085 on 5896  Progress: 4086 on 5896  Progress: 4087 on 5896  Progress: 4088 on 5896  Progress: 4089 on 5896  Progress: 4090 on 5896  Progress: 4091 on 5896  Progress: 4092 on 5896  Progress: 4093 on 5896  Progress: 4094 on 5896  Progress: 4095 on 5896  Progress: 4096 on 5896  Progress: 4097 on 5896  Progress: 4098 on 5896  Progress: 4099 on 5896  Progress: 4100 on 5896  Progress: 4101 on 5896  Progress: 4102 on 5896  Progress: 4103 on 5896  Progress: 4104 on 5896  Progress: 4105 on 5896  Progress: 4106 on 5896  Progress: 4107 on 5896  Progress: 4108 on 5896  Progress: 4109 on 5896  Progress: 4110 on 5896  Progress: 4111 on 5896  Progress: 4112 on 5896  Progress: 4113 on 5896  Progress: 4114 on 5896  Progress: 4115 on 5896  Progress: 4116 on 5896  Progress: 4117 on 5896  Progress: 4118 on 5896  Progress: 4119 on 5896  Progress: 4120 on 5896  Progress: 4121 on 5896  Progress: 4122 on 5896  Progress: 4123 on 5896  Progress: 4124 on 5896  Progress: 4125 on 5896  Progress: 4126 on 5896  Progress: 4127 on 5896  Progress: 4128 on 5896  Progress: 4129 on 5896  Progress: 4130 on 5896  Progress: 4131 on 5896  Progress: 4132 on 5896  Progress: 4133 on 5896  Progress: 4134 on 5896  Progress: 4135 on 5896  Progress: 4136 on 5896  Progress: 4137 on 5896  Progress: 4138 on 5896  Progress: 4139 on 5896  Progress: 4140 on 5896  Progress: 4141 on 5896  Progress: 4142 on 5896  Progress: 4143 on 5896  Progress: 4144 on 5896  Progress: 4145 on 5896  Progress: 4146 on 5896  Progress: 4147 on 5896  Progress: 4148 on 5896  Progress: 4149 on 5896  Progress: 4150 on 5896  Progress: 4151 on 5896  Progress: 4152 on 5896  Progress: 4153 on 5896  Progress: 4154 on 5896  Progress: 4155 on 5896  Progress: 4156 on 5896  Progress: 4157 on 5896  Progress: 4158 on 5896  Progress: 4159 on 5896  Progress: 4160 on 5896  Progress: 4161 on 5896  Progress: 4162 on 5896  Progress: 4163 on 5896  Progress: 4164 on 5896  Progress: 4165 on 5896  Progress: 4166 on 5896  Progress: 4167 on 5896  Progress: 4168 on 5896  Progress: 4169 on 5896  Progress: 4170 on 5896  Progress: 4171 on 5896  Progress: 4172 on 5896  Progress: 4173 on 5896  Progress: 4174 on 5896  Progress: 4175 on 5896  Progress: 4176 on 5896  Progress: 4177 on 5896  Progress: 4178 on 5896  Progress: 4179 on 5896  Progress: 4180 on 5896  Progress: 4181 on 5896  Progress: 4182 on 5896  Progress: 4183 on 5896  Progress: 4184 on 5896  Progress: 4185 on 5896  Progress: 4186 on 5896  Progress: 4187 on 5896  Progress: 4188 on 5896  Progress: 4189 on 5896  Progress: 4190 on 5896  Progress: 4191 on 5896  Progress: 4192 on 5896  Progress: 4193 on 5896  Progress: 4194 on 5896  Progress: 4195 on 5896  Progress: 4196 on 5896  Progress: 4197 on 5896  Progress: 4198 on 5896  Progress: 4199 on 5896  Progress: 4200 on 5896  Progress: 4201 on 5896  Progress: 4202 on 5896  Progress: 4203 on 5896  Progress: 4204 on 5896  Progress: 4205 on 5896  Progress: 4206 on 5896  Progress: 4207 on 5896  Progress: 4208 on 5896  Progress: 4209 on 5896  Progress: 4210 on 5896  Progress: 4211 on 5896  Progress: 4212 on 5896  Progress: 4213 on 5896  Progress: 4214 on 5896  Progress: 4215 on 5896  Progress: 4216 on 5896  Progress: 4217 on 5896  Progress: 4218 on 5896  Progress: 4219 on 5896  Progress: 4220 on 5896  Progress: 4221 on 5896  Progress: 4222 on 5896  Progress: 4223 on 5896  Progress: 4224 on 5896  Progress: 4225 on 5896  Progress: 4226 on 5896  Progress: 4227 on 5896  Progress: 4228 on 5896  Progress: 4229 on 5896  Progress: 4230 on 5896  Progress: 4231 on 5896  Progress: 4232 on 5896  Progress: 4233 on 5896  Progress: 4234 on 5896  Progress: 4235 on 5896  Progress: 4236 on 5896  Progress: 4237 on 5896  Progress: 4238 on 5896  Progress: 4239 on 5896  Progress: 4240 on 5896  Progress: 4241 on 5896  Progress: 4242 on 5896  Progress: 4243 on 5896  Progress: 4244 on 5896  Progress: 4245 on 5896  Progress: 4246 on 5896  Progress: 4247 on 5896  Progress: 4248 on 5896  Progress: 4249 on 5896  Progress: 4250 on 5896  Progress: 4251 on 5896  Progress: 4252 on 5896  Progress: 4253 on 5896  Progress: 4254 on 5896  Progress: 4255 on 5896  Progress: 4256 on 5896  Progress: 4257 on 5896  Progress: 4258 on 5896  Progress: 4259 on 5896  Progress: 4260 on 5896  Progress: 4261 on 5896  Progress: 4262 on 5896  Progress: 4263 on 5896  Progress: 4264 on 5896  Progress: 4265 on 5896  Progress: 4266 on 5896  Progress: 4267 on 5896  Progress: 4268 on 5896  Progress: 4269 on 5896  Progress: 4270 on 5896  Progress: 4271 on 5896  Progress: 4272 on 5896  Progress: 4273 on 5896  Progress: 4274 on 5896  Progress: 4275 on 5896  Progress: 4276 on 5896  Progress: 4277 on 5896  Progress: 4278 on 5896  Progress: 4279 on 5896  Progress: 4280 on 5896  Progress: 4281 on 5896  Progress: 4282 on 5896  Progress: 4283 on 5896  Progress: 4284 on 5896  Progress: 4285 on 5896  Progress: 4286 on 5896  Progress: 4287 on 5896  Progress: 4288 on 5896  Progress: 4289 on 5896  Progress: 4290 on 5896  Progress: 4291 on 5896  Progress: 4292 on 5896  Progress: 4293 on 5896  Progress: 4294 on 5896  Progress: 4295 on 5896  Progress: 4296 on 5896  Progress: 4297 on 5896  Progress: 4298 on 5896  Progress: 4299 on 5896  Progress: 4300 on 5896  Progress: 4301 on 5896  Progress: 4302 on 5896  Progress: 4303 on 5896  Progress: 4304 on 5896  Progress: 4305 on 5896  Progress: 4306 on 5896  Progress: 4307 on 5896  Progress: 4308 on 5896  Progress: 4309 on 5896  Progress: 4310 on 5896  Progress: 4311 on 5896  Progress: 4312 on 5896  Progress: 4313 on 5896  Progress: 4314 on 5896  Progress: 4315 on 5896  Progress: 4316 on 5896  Progress: 4317 on 5896  Progress: 4318 on 5896  Progress: 4319 on 5896  Progress: 4320 on 5896  Progress: 4321 on 5896  Progress: 4322 on 5896  Progress: 4323 on 5896  Progress: 4324 on 5896  Progress: 4325 on 5896  Progress: 4326 on 5896  Progress: 4327 on 5896  Progress: 4328 on 5896  Progress: 4329 on 5896  Progress: 4330 on 5896  Progress: 4331 on 5896  Progress: 4332 on 5896  Progress: 4333 on 5896  Progress: 4334 on 5896  Progress: 4335 on 5896  Progress: 4336 on 5896  Progress: 4337 on 5896  Progress: 4338 on 5896  Progress: 4339 on 5896  Progress: 4340 on 5896  Progress: 4341 on 5896  Progress: 4342 on 5896  Progress: 4343 on 5896  Progress: 4344 on 5896  Progress: 4345 on 5896  Progress: 4346 on 5896  Progress: 4347 on 5896  Progress: 4348 on 5896  Progress: 4349 on 5896  Progress: 4350 on 5896  Progress: 4351 on 5896  Progress: 4352 on 5896  Progress: 4353 on 5896  Progress: 4354 on 5896  Progress: 4355 on 5896  Progress: 4356 on 5896  Progress: 4357 on 5896  Progress: 4358 on 5896  Progress: 4359 on 5896  Progress: 4360 on 5896  Progress: 4361 on 5896  Progress: 4362 on 5896  Progress: 4363 on 5896  Progress: 4364 on 5896  Progress: 4365 on 5896  Progress: 4366 on 5896  Progress: 4367 on 5896  Progress: 4368 on 5896  Progress: 4369 on 5896  Progress: 4370 on 5896  Progress: 4371 on 5896  Progress: 4372 on 5896  Progress: 4373 on 5896  Progress: 4374 on 5896  Progress: 4375 on 5896  Progress: 4376 on 5896  Progress: 4377 on 5896  Progress: 4378 on 5896  Progress: 4379 on 5896  Progress: 4380 on 5896  Progress: 4381 on 5896  Progress: 4382 on 5896  Progress: 4383 on 5896  Progress: 4384 on 5896  Progress: 4385 on 5896  Progress: 4386 on 5896  Progress: 4387 on 5896  Progress: 4388 on 5896  Progress: 4389 on 5896  Progress: 4390 on 5896  Progress: 4391 on 5896  Progress: 4392 on 5896  Progress: 4393 on 5896  Progress: 4394 on 5896  Progress: 4395 on 5896  Progress: 4396 on 5896  Progress: 4397 on 5896  Progress: 4398 on 5896  Progress: 4399 on 5896  Progress: 4400 on 5896  Progress: 4401 on 5896  Progress: 4402 on 5896  Progress: 4403 on 5896  Progress: 4404 on 5896  Progress: 4405 on 5896  Progress: 4406 on 5896  Progress: 4407 on 5896  Progress: 4408 on 5896  Progress: 4409 on 5896  Progress: 4410 on 5896  Progress: 4411 on 5896  Progress: 4412 on 5896  Progress: 4413 on 5896  Progress: 4414 on 5896  Progress: 4415 on 5896  Progress: 4416 on 5896  Progress: 4417 on 5896  Progress: 4418 on 5896  Progress: 4419 on 5896  Progress: 4420 on 5896  Progress: 4421 on 5896  Progress: 4422 on 5896  Progress: 4423 on 5896  Progress: 4424 on 5896  Progress: 4425 on 5896  Progress: 4426 on 5896  Progress: 4427 on 5896  Progress: 4428 on 5896  Progress: 4429 on 5896  Progress: 4430 on 5896  Progress: 4431 on 5896  Progress: 4432 on 5896  Progress: 4433 on 5896  Progress: 4434 on 5896  Progress: 4435 on 5896  Progress: 4436 on 5896  Progress: 4437 on 5896  Progress: 4438 on 5896  Progress: 4439 on 5896  Progress: 4440 on 5896  Progress: 4441 on 5896  Progress: 4442 on 5896  Progress: 4443 on 5896  Progress: 4444 on 5896  Progress: 4445 on 5896  Progress: 4446 on 5896  Progress: 4447 on 5896  Progress: 4448 on 5896  Progress: 4449 on 5896  Progress: 4450 on 5896  Progress: 4451 on 5896  Progress: 4452 on 5896  Progress: 4453 on 5896  Progress: 4454 on 5896  Progress: 4455 on 5896  Progress: 4456 on 5896  Progress: 4457 on 5896  Progress: 4458 on 5896  Progress: 4459 on 5896  Progress: 4460 on 5896  Progress: 4461 on 5896  Progress: 4462 on 5896  Progress: 4463 on 5896  Progress: 4464 on 5896  Progress: 4465 on 5896  Progress: 4466 on 5896  Progress: 4467 on 5896  Progress: 4468 on 5896  Progress: 4469 on 5896  Progress: 4470 on 5896  Progress: 4471 on 5896  Progress: 4472 on 5896  Progress: 4473 on 5896  Progress: 4474 on 5896  Progress: 4475 on 5896  Progress: 4476 on 5896  Progress: 4477 on 5896  Progress: 4478 on 5896  Progress: 4479 on 5896  Progress: 4480 on 5896  Progress: 4481 on 5896  Progress: 4482 on 5896  Progress: 4483 on 5896  Progress: 4484 on 5896  Progress: 4485 on 5896  Progress: 4486 on 5896  Progress: 4487 on 5896  Progress: 4488 on 5896  Progress: 4489 on 5896  Progress: 4490 on 5896  Progress: 4491 on 5896  Progress: 4492 on 5896  Progress: 4493 on 5896  Progress: 4494 on 5896  Progress: 4495 on 5896  Progress: 4496 on 5896  Progress: 4497 on 5896  Progress: 4498 on 5896  Progress: 4499 on 5896  Progress: 4500 on 5896  Progress: 4501 on 5896  Progress: 4502 on 5896  Progress: 4503 on 5896  Progress: 4504 on 5896  Progress: 4505 on 5896  Progress: 4506 on 5896  Progress: 4507 on 5896  Progress: 4508 on 5896  Progress: 4509 on 5896  Progress: 4510 on 5896  Progress: 4511 on 5896  Progress: 4512 on 5896  Progress: 4513 on 5896  Progress: 4514 on 5896  Progress: 4515 on 5896  Progress: 4516 on 5896  Progress: 4517 on 5896  Progress: 4518 on 5896  Progress: 4519 on 5896  Progress: 4520 on 5896  Progress: 4521 on 5896  Progress: 4522 on 5896  Progress: 4523 on 5896  Progress: 4524 on 5896  Progress: 4525 on 5896  Progress: 4526 on 5896  Progress: 4527 on 5896  Progress: 4528 on 5896  Progress: 4529 on 5896  Progress: 4530 on 5896  Progress: 4531 on 5896  Progress: 4532 on 5896  Progress: 4533 on 5896  Progress: 4534 on 5896  Progress: 4535 on 5896  Progress: 4536 on 5896  Progress: 4537 on 5896  Progress: 4538 on 5896  Progress: 4539 on 5896  Progress: 4540 on 5896  Progress: 4541 on 5896  Progress: 4542 on 5896  Progress: 4543 on 5896  Progress: 4544 on 5896  Progress: 4545 on 5896  Progress: 4546 on 5896  Progress: 4547 on 5896  Progress: 4548 on 5896  Progress: 4549 on 5896  Progress: 4550 on 5896  Progress: 4551 on 5896  Progress: 4552 on 5896  Progress: 4553 on 5896  Progress: 4554 on 5896  Progress: 4555 on 5896  Progress: 4556 on 5896  Progress: 4557 on 5896  Progress: 4558 on 5896  Progress: 4559 on 5896  Progress: 4560 on 5896  Progress: 4561 on 5896  Progress: 4562 on 5896  Progress: 4563 on 5896  Progress: 4564 on 5896  Progress: 4565 on 5896  Progress: 4566 on 5896  Progress: 4567 on 5896  Progress: 4568 on 5896  Progress: 4569 on 5896  Progress: 4570 on 5896  Progress: 4571 on 5896  Progress: 4572 on 5896  Progress: 4573 on 5896  Progress: 4574 on 5896  Progress: 4575 on 5896  Progress: 4576 on 5896  Progress: 4577 on 5896  Progress: 4578 on 5896  Progress: 4579 on 5896  Progress: 4580 on 5896  Progress: 4581 on 5896  Progress: 4582 on 5896  Progress: 4583 on 5896  Progress: 4584 on 5896  Progress: 4585 on 5896  Progress: 4586 on 5896  Progress: 4587 on 5896  Progress: 4588 on 5896  Progress: 4589 on 5896  Progress: 4590 on 5896  Progress: 4591 on 5896  Progress: 4592 on 5896  Progress: 4593 on 5896  Progress: 4594 on 5896  Progress: 4595 on 5896  Progress: 4596 on 5896  Progress: 4597 on 5896  Progress: 4598 on 5896  Progress: 4599 on 5896  Progress: 4600 on 5896  Progress: 4601 on 5896  Progress: 4602 on 5896  Progress: 4603 on 5896  Progress: 4604 on 5896  Progress: 4605 on 5896  Progress: 4606 on 5896  Progress: 4607 on 5896  Progress: 4608 on 5896  Progress: 4609 on 5896  Progress: 4610 on 5896  Progress: 4611 on 5896  Progress: 4612 on 5896  Progress: 4613 on 5896  Progress: 4614 on 5896  Progress: 4615 on 5896  Progress: 4616 on 5896  Progress: 4617 on 5896  Progress: 4618 on 5896  Progress: 4619 on 5896  Progress: 4620 on 5896  Progress: 4621 on 5896  Progress: 4622 on 5896  Progress: 4623 on 5896  Progress: 4624 on 5896  Progress: 4625 on 5896  Progress: 4626 on 5896  Progress: 4627 on 5896  Progress: 4628 on 5896  Progress: 4629 on 5896  Progress: 4630 on 5896  Progress: 4631 on 5896  Progress: 4632 on 5896  Progress: 4633 on 5896  Progress: 4634 on 5896  Progress: 4635 on 5896  Progress: 4636 on 5896  Progress: 4637 on 5896  Progress: 4638 on 5896  Progress: 4639 on 5896  Progress: 4640 on 5896  Progress: 4641 on 5896  Progress: 4642 on 5896  Progress: 4643 on 5896  Progress: 4644 on 5896  Progress: 4645 on 5896  Progress: 4646 on 5896  Progress: 4647 on 5896  Progress: 4648 on 5896  Progress: 4649 on 5896  Progress: 4650 on 5896  Progress: 4651 on 5896  Progress: 4652 on 5896  Progress: 4653 on 5896  Progress: 4654 on 5896  Progress: 4655 on 5896  Progress: 4656 on 5896  Progress: 4657 on 5896  Progress: 4658 on 5896  Progress: 4659 on 5896  Progress: 4660 on 5896  Progress: 4661 on 5896  Progress: 4662 on 5896  Progress: 4663 on 5896  Progress: 4664 on 5896  Progress: 4665 on 5896  Progress: 4666 on 5896  Progress: 4667 on 5896  Progress: 4668 on 5896  Progress: 4669 on 5896  Progress: 4670 on 5896  Progress: 4671 on 5896  Progress: 4672 on 5896  Progress: 4673 on 5896  Progress: 4674 on 5896  Progress: 4675 on 5896  Progress: 4676 on 5896  Progress: 4677 on 5896  Progress: 4678 on 5896  Progress: 4679 on 5896  Progress: 4680 on 5896  Progress: 4681 on 5896  Progress: 4682 on 5896  Progress: 4683 on 5896  Progress: 4684 on 5896  Progress: 4685 on 5896  Progress: 4686 on 5896  Progress: 4687 on 5896  Progress: 4688 on 5896  Progress: 4689 on 5896  Progress: 4690 on 5896  Progress: 4691 on 5896  Progress: 4692 on 5896  Progress: 4693 on 5896  Progress: 4694 on 5896  Progress: 4695 on 5896  Progress: 4696 on 5896  Progress: 4697 on 5896  Progress: 4698 on 5896  Progress: 4699 on 5896  Progress: 4700 on 5896  Progress: 4701 on 5896  Progress: 4702 on 5896  Progress: 4703 on 5896  Progress: 4704 on 5896  Progress: 4705 on 5896  Progress: 4706 on 5896  Progress: 4707 on 5896  Progress: 4708 on 5896  Progress: 4709 on 5896  Progress: 4710 on 5896  Progress: 4711 on 5896  Progress: 4712 on 5896  Progress: 4713 on 5896  Progress: 4714 on 5896  Progress: 4715 on 5896  Progress: 4716 on 5896  Progress: 4717 on 5896  Progress: 4718 on 5896  Progress: 4719 on 5896  Progress: 4720 on 5896  Progress: 4721 on 5896  Progress: 4722 on 5896  Progress: 4723 on 5896  Progress: 4724 on 5896  Progress: 4725 on 5896  Progress: 4726 on 5896  Progress: 4727 on 5896  Progress: 4728 on 5896  Progress: 4729 on 5896  Progress: 4730 on 5896  Progress: 4731 on 5896  Progress: 4732 on 5896  Progress: 4733 on 5896  Progress: 4734 on 5896  Progress: 4735 on 5896  Progress: 4736 on 5896  Progress: 4737 on 5896  Progress: 4738 on 5896  Progress: 4739 on 5896  Progress: 4740 on 5896  Progress: 4741 on 5896  Progress: 4742 on 5896  Progress: 4743 on 5896  Progress: 4744 on 5896  Progress: 4745 on 5896  Progress: 4746 on 5896  Progress: 4747 on 5896  Progress: 4748 on 5896  Progress: 4749 on 5896  Progress: 4750 on 5896  Progress: 4751 on 5896  Progress: 4752 on 5896  Progress: 4753 on 5896  Progress: 4754 on 5896  Progress: 4755 on 5896  Progress: 4756 on 5896  Progress: 4757 on 5896  Progress: 4758 on 5896  Progress: 4759 on 5896  Progress: 4760 on 5896  Progress: 4761 on 5896  Progress: 4762 on 5896  Progress: 4763 on 5896  Progress: 4764 on 5896  Progress: 4765 on 5896  Progress: 4766 on 5896  Progress: 4767 on 5896  Progress: 4768 on 5896  Progress: 4769 on 5896  Progress: 4770 on 5896  Progress: 4771 on 5896  Progress: 4772 on 5896  Progress: 4773 on 5896  Progress: 4774 on 5896  Progress: 4775 on 5896  Progress: 4776 on 5896  Progress: 4777 on 5896  Progress: 4778 on 5896  Progress: 4779 on 5896  Progress: 4780 on 5896  Progress: 4781 on 5896  Progress: 4782 on 5896  Progress: 4783 on 5896  Progress: 4784 on 5896  Progress: 4785 on 5896  Progress: 4786 on 5896  Progress: 4787 on 5896  Progress: 4788 on 5896  Progress: 4789 on 5896  Progress: 4790 on 5896  Progress: 4791 on 5896  Progress: 4792 on 5896  Progress: 4793 on 5896  Progress: 4794 on 5896  Progress: 4795 on 5896  Progress: 4796 on 5896  Progress: 4797 on 5896  Progress: 4798 on 5896  Progress: 4799 on 5896  Progress: 4800 on 5896  Progress: 4801 on 5896  Progress: 4802 on 5896  Progress: 4803 on 5896  Progress: 4804 on 5896  Progress: 4805 on 5896  Progress: 4806 on 5896  Progress: 4807 on 5896  Progress: 4808 on 5896  Progress: 4809 on 5896  Progress: 4810 on 5896  Progress: 4811 on 5896  Progress: 4812 on 5896  Progress: 4813 on 5896  Progress: 4814 on 5896  Progress: 4815 on 5896  Progress: 4816 on 5896  Progress: 4817 on 5896  Progress: 4818 on 5896  Progress: 4819 on 5896  Progress: 4820 on 5896  Progress: 4821 on 5896  Progress: 4822 on 5896  Progress: 4823 on 5896  Progress: 4824 on 5896  Progress: 4825 on 5896  Progress: 4826 on 5896  Progress: 4827 on 5896  Progress: 4828 on 5896  Progress: 4829 on 5896  Progress: 4830 on 5896  Progress: 4831 on 5896  Progress: 4832 on 5896  Progress: 4833 on 5896  Progress: 4834 on 5896  Progress: 4835 on 5896  Progress: 4836 on 5896  Progress: 4837 on 5896  Progress: 4838 on 5896  Progress: 4839 on 5896  Progress: 4840 on 5896  Progress: 4841 on 5896  Progress: 4842 on 5896  Progress: 4843 on 5896  Progress: 4844 on 5896  Progress: 4845 on 5896  Progress: 4846 on 5896  Progress: 4847 on 5896  Progress: 4848 on 5896  Progress: 4849 on 5896  Progress: 4850 on 5896  Progress: 4851 on 5896  Progress: 4852 on 5896  Progress: 4853 on 5896  Progress: 4854 on 5896  Progress: 4855 on 5896  Progress: 4856 on 5896  Progress: 4857 on 5896  Progress: 4858 on 5896  Progress: 4859 on 5896  Progress: 4860 on 5896  Progress: 4861 on 5896  Progress: 4862 on 5896  Progress: 4863 on 5896  Progress: 4864 on 5896  Progress: 4865 on 5896  Progress: 4866 on 5896  Progress: 4867 on 5896  Progress: 4868 on 5896  Progress: 4869 on 5896  Progress: 4870 on 5896  Progress: 4871 on 5896  Progress: 4872 on 5896  Progress: 4873 on 5896  Progress: 4874 on 5896  Progress: 4875 on 5896  Progress: 4876 on 5896  Progress: 4877 on 5896  Progress: 4878 on 5896  Progress: 4879 on 5896  Progress: 4880 on 5896  Progress: 4881 on 5896  Progress: 4882 on 5896  Progress: 4883 on 5896  Progress: 4884 on 5896  Progress: 4885 on 5896  Progress: 4886 on 5896  Progress: 4887 on 5896  Progress: 4888 on 5896  Progress: 4889 on 5896  Progress: 4890 on 5896  Progress: 4891 on 5896  Progress: 4892 on 5896  Progress: 4893 on 5896  Progress: 4894 on 5896  Progress: 4895 on 5896  Progress: 4896 on 5896  Progress: 4897 on 5896  Progress: 4898 on 5896  Progress: 4899 on 5896  Progress: 4900 on 5896  Progress: 4901 on 5896  Progress: 4902 on 5896  Progress: 4903 on 5896  Progress: 4904 on 5896  Progress: 4905 on 5896  Progress: 4906 on 5896  Progress: 4907 on 5896  Progress: 4908 on 5896  Progress: 4909 on 5896  Progress: 4910 on 5896  Progress: 4911 on 5896  Progress: 4912 on 5896  Progress: 4913 on 5896  Progress: 4914 on 5896  Progress: 4915 on 5896  Progress: 4916 on 5896  Progress: 4917 on 5896  Progress: 4918 on 5896  Progress: 4919 on 5896  Progress: 4920 on 5896  Progress: 4921 on 5896  Progress: 4922 on 5896  Progress: 4923 on 5896  Progress: 4924 on 5896  Progress: 4925 on 5896  Progress: 4926 on 5896  Progress: 4927 on 5896  Progress: 4928 on 5896  Progress: 4929 on 5896  Progress: 4930 on 5896  Progress: 4931 on 5896  Progress: 4932 on 5896  Progress: 4933 on 5896  Progress: 4934 on 5896  Progress: 4935 on 5896  Progress: 4936 on 5896  Progress: 4937 on 5896  Progress: 4938 on 5896  Progress: 4939 on 5896  Progress: 4940 on 5896  Progress: 4941 on 5896  Progress: 4942 on 5896  Progress: 4943 on 5896  Progress: 4944 on 5896  Progress: 4945 on 5896  Progress: 4946 on 5896  Progress: 4947 on 5896  Progress: 4948 on 5896  Progress: 4949 on 5896  Progress: 4950 on 5896  Progress: 4951 on 5896  Progress: 4952 on 5896  Progress: 4953 on 5896  Progress: 4954 on 5896  Progress: 4955 on 5896  Progress: 4956 on 5896  Progress: 4957 on 5896  Progress: 4958 on 5896  Progress: 4959 on 5896  Progress: 4960 on 5896  Progress: 4961 on 5896  Progress: 4962 on 5896  Progress: 4963 on 5896  Progress: 4964 on 5896  Progress: 4965 on 5896  Progress: 4966 on 5896  Progress: 4967 on 5896  Progress: 4968 on 5896  Progress: 4969 on 5896  Progress: 4970 on 5896  Progress: 4971 on 5896  Progress: 4972 on 5896  Progress: 4973 on 5896  Progress: 4974 on 5896  Progress: 4975 on 5896  Progress: 4976 on 5896  Progress: 4977 on 5896  Progress: 4978 on 5896  Progress: 4979 on 5896  Progress: 4980 on 5896  Progress: 4981 on 5896  Progress: 4982 on 5896  Progress: 4983 on 5896  Progress: 4984 on 5896  Progress: 4985 on 5896  Progress: 4986 on 5896  Progress: 4987 on 5896  Progress: 4988 on 5896  Progress: 4989 on 5896  Progress: 4990 on 5896  Progress: 4991 on 5896  Progress: 4992 on 5896  Progress: 4993 on 5896  Progress: 4994 on 5896  Progress: 4995 on 5896  Progress: 4996 on 5896  Progress: 4997 on 5896  Progress: 4998 on 5896  Progress: 4999 on 5896  Progress: 5000 on 5896  Progress: 5001 on 5896  Progress: 5002 on 5896  Progress: 5003 on 5896  Progress: 5004 on 5896  Progress: 5005 on 5896  Progress: 5006 on 5896  Progress: 5007 on 5896  Progress: 5008 on 5896  Progress: 5009 on 5896  Progress: 5010 on 5896  Progress: 5011 on 5896  Progress: 5012 on 5896  Progress: 5013 on 5896  Progress: 5014 on 5896  Progress: 5015 on 5896  Progress: 5016 on 5896  Progress: 5017 on 5896  Progress: 5018 on 5896  Progress: 5019 on 5896  Progress: 5020 on 5896  Progress: 5021 on 5896  Progress: 5022 on 5896  Progress: 5023 on 5896  Progress: 5024 on 5896  Progress: 5025 on 5896  Progress: 5026 on 5896  Progress: 5027 on 5896  Progress: 5028 on 5896  Progress: 5029 on 5896  Progress: 5030 on 5896  Progress: 5031 on 5896  Progress: 5032 on 5896  Progress: 5033 on 5896  Progress: 5034 on 5896  Progress: 5035 on 5896  Progress: 5036 on 5896  Progress: 5037 on 5896  Progress: 5038 on 5896  Progress: 5039 on 5896  Progress: 5040 on 5896  Progress: 5041 on 5896  Progress: 5042 on 5896  Progress: 5043 on 5896  Progress: 5044 on 5896  Progress: 5045 on 5896  Progress: 5046 on 5896  Progress: 5047 on 5896  Progress: 5048 on 5896  Progress: 5049 on 5896  Progress: 5050 on 5896  Progress: 5051 on 5896  Progress: 5052 on 5896  Progress: 5053 on 5896  Progress: 5054 on 5896  Progress: 5055 on 5896  Progress: 5056 on 5896  Progress: 5057 on 5896  Progress: 5058 on 5896  Progress: 5059 on 5896  Progress: 5060 on 5896  Progress: 5061 on 5896  Progress: 5062 on 5896  Progress: 5063 on 5896  Progress: 5064 on 5896  Progress: 5065 on 5896  Progress: 5066 on 5896  Progress: 5067 on 5896  Progress: 5068 on 5896  Progress: 5069 on 5896  Progress: 5070 on 5896  Progress: 5071 on 5896  Progress: 5072 on 5896  Progress: 5073 on 5896  Progress: 5074 on 5896  Progress: 5075 on 5896  Progress: 5076 on 5896  Progress: 5077 on 5896  Progress: 5078 on 5896  Progress: 5079 on 5896  Progress: 5080 on 5896  Progress: 5081 on 5896  Progress: 5082 on 5896  Progress: 5083 on 5896  Progress: 5084 on 5896  Progress: 5085 on 5896  Progress: 5086 on 5896  Progress: 5087 on 5896  Progress: 5088 on 5896  Progress: 5089 on 5896  Progress: 5090 on 5896  Progress: 5091 on 5896  Progress: 5092 on 5896  Progress: 5093 on 5896  Progress: 5094 on 5896  Progress: 5095 on 5896  Progress: 5096 on 5896  Progress: 5097 on 5896  Progress: 5098 on 5896  Progress: 5099 on 5896  Progress: 5100 on 5896  Progress: 5101 on 5896  Progress: 5102 on 5896  Progress: 5103 on 5896  Progress: 5104 on 5896  Progress: 5105 on 5896  Progress: 5106 on 5896  Progress: 5107 on 5896  Progress: 5108 on 5896  Progress: 5109 on 5896  Progress: 5110 on 5896  Progress: 5111 on 5896  Progress: 5112 on 5896  Progress: 5113 on 5896  Progress: 5114 on 5896  Progress: 5115 on 5896  Progress: 5116 on 5896  Progress: 5117 on 5896  Progress: 5118 on 5896  Progress: 5119 on 5896  Progress: 5120 on 5896  Progress: 5121 on 5896  Progress: 5122 on 5896  Progress: 5123 on 5896  Progress: 5124 on 5896  Progress: 5125 on 5896  Progress: 5126 on 5896  Progress: 5127 on 5896  Progress: 5128 on 5896  Progress: 5129 on 5896  Progress: 5130 on 5896  Progress: 5131 on 5896  Progress: 5132 on 5896  Progress: 5133 on 5896  Progress: 5134 on 5896  Progress: 5135 on 5896  Progress: 5136 on 5896  Progress: 5137 on 5896  Progress: 5138 on 5896  Progress: 5139 on 5896  Progress: 5140 on 5896  Progress: 5141 on 5896  Progress: 5142 on 5896  Progress: 5143 on 5896  Progress: 5144 on 5896  Progress: 5145 on 5896  Progress: 5146 on 5896  Progress: 5147 on 5896  Progress: 5148 on 5896  Progress: 5149 on 5896  Progress: 5150 on 5896  Progress: 5151 on 5896  Progress: 5152 on 5896  Progress: 5153 on 5896  Progress: 5154 on 5896  Progress: 5155 on 5896  Progress: 5156 on 5896  Progress: 5157 on 5896  Progress: 5158 on 5896  Progress: 5159 on 5896  Progress: 5160 on 5896  Progress: 5161 on 5896  Progress: 5162 on 5896  Progress: 5163 on 5896  Progress: 5164 on 5896  Progress: 5165 on 5896  Progress: 5166 on 5896  Progress: 5167 on 5896  Progress: 5168 on 5896  Progress: 5169 on 5896  Progress: 5170 on 5896  Progress: 5171 on 5896  Progress: 5172 on 5896  Progress: 5173 on 5896  Progress: 5174 on 5896  Progress: 5175 on 5896  Progress: 5176 on 5896  Progress: 5177 on 5896  Progress: 5178 on 5896  Progress: 5179 on 5896  Progress: 5180 on 5896  Progress: 5181 on 5896  Progress: 5182 on 5896  Progress: 5183 on 5896  Progress: 5184 on 5896  Progress: 5185 on 5896  Progress: 5186 on 5896  Progress: 5187 on 5896  Progress: 5188 on 5896  Progress: 5189 on 5896  Progress: 5190 on 5896  Progress: 5191 on 5896  Progress: 5192 on 5896  Progress: 5193 on 5896  Progress: 5194 on 5896  Progress: 5195 on 5896  Progress: 5196 on 5896  Progress: 5197 on 5896  Progress: 5198 on 5896  Progress: 5199 on 5896  Progress: 5200 on 5896  Progress: 5201 on 5896  Progress: 5202 on 5896  Progress: 5203 on 5896  Progress: 5204 on 5896  Progress: 5205 on 5896  Progress: 5206 on 5896  Progress: 5207 on 5896  Progress: 5208 on 5896  Progress: 5209 on 5896  Progress: 5210 on 5896  Progress: 5211 on 5896  Progress: 5212 on 5896  Progress: 5213 on 5896  Progress: 5214 on 5896  Progress: 5215 on 5896  Progress: 5216 on 5896  Progress: 5217 on 5896  Progress: 5218 on 5896  Progress: 5219 on 5896  Progress: 5220 on 5896  Progress: 5221 on 5896  Progress: 5222 on 5896  Progress: 5223 on 5896  Progress: 5224 on 5896  Progress: 5225 on 5896  Progress: 5226 on 5896  Progress: 5227 on 5896  Progress: 5228 on 5896  Progress: 5229 on 5896  Progress: 5230 on 5896  Progress: 5231 on 5896  Progress: 5232 on 5896  Progress: 5233 on 5896  Progress: 5234 on 5896  Progress: 5235 on 5896  Progress: 5236 on 5896  Progress: 5237 on 5896  Progress: 5238 on 5896  Progress: 5239 on 5896  Progress: 5240 on 5896  Progress: 5241 on 5896  Progress: 5242 on 5896  Progress: 5243 on 5896  Progress: 5244 on 5896  Progress: 5245 on 5896  Progress: 5246 on 5896  Progress: 5247 on 5896  Progress: 5248 on 5896  Progress: 5249 on 5896  Progress: 5250 on 5896  Progress: 5251 on 5896  Progress: 5252 on 5896  Progress: 5253 on 5896  Progress: 5254 on 5896  Progress: 5255 on 5896  Progress: 5256 on 5896  Progress: 5257 on 5896  Progress: 5258 on 5896  Progress: 5259 on 5896  Progress: 5260 on 5896  Progress: 5261 on 5896  Progress: 5262 on 5896  Progress: 5263 on 5896  Progress: 5264 on 5896  Progress: 5265 on 5896  Progress: 5266 on 5896  Progress: 5267 on 5896  Progress: 5268 on 5896  Progress: 5269 on 5896  Progress: 5270 on 5896  Progress: 5271 on 5896  Progress: 5272 on 5896  Progress: 5273 on 5896  Progress: 5274 on 5896  Progress: 5275 on 5896  Progress: 5276 on 5896  Progress: 5277 on 5896  Progress: 5278 on 5896  Progress: 5279 on 5896  Progress: 5280 on 5896  Progress: 5281 on 5896  Progress: 5282 on 5896  Progress: 5283 on 5896  Progress: 5284 on 5896  Progress: 5285 on 5896  Progress: 5286 on 5896  Progress: 5287 on 5896  Progress: 5288 on 5896  Progress: 5289 on 5896  Progress: 5290 on 5896  Progress: 5291 on 5896  Progress: 5292 on 5896  Progress: 5293 on 5896  Progress: 5294 on 5896  Progress: 5295 on 5896  Progress: 5296 on 5896  Progress: 5297 on 5896  Progress: 5298 on 5896  Progress: 5299 on 5896  Progress: 5300 on 5896  Progress: 5301 on 5896  Progress: 5302 on 5896  Progress: 5303 on 5896  Progress: 5304 on 5896  Progress: 5305 on 5896  Progress: 5306 on 5896  Progress: 5307 on 5896  Progress: 5308 on 5896  Progress: 5309 on 5896  Progress: 5310 on 5896  Progress: 5311 on 5896  Progress: 5312 on 5896  Progress: 5313 on 5896  Progress: 5314 on 5896  Progress: 5315 on 5896  Progress: 5316 on 5896  Progress: 5317 on 5896  Progress: 5318 on 5896  Progress: 5319 on 5896  Progress: 5320 on 5896  Progress: 5321 on 5896  Progress: 5322 on 5896  Progress: 5323 on 5896  Progress: 5324 on 5896  Progress: 5325 on 5896  Progress: 5326 on 5896  Progress: 5327 on 5896  Progress: 5328 on 5896  Progress: 5329 on 5896  Progress: 5330 on 5896  Progress: 5331 on 5896  Progress: 5332 on 5896  Progress: 5333 on 5896  Progress: 5334 on 5896  Progress: 5335 on 5896  Progress: 5336 on 5896  Progress: 5337 on 5896  Progress: 5338 on 5896  Progress: 5339 on 5896  Progress: 5340 on 5896  Progress: 5341 on 5896  Progress: 5342 on 5896  Progress: 5343 on 5896  Progress: 5344 on 5896  Progress: 5345 on 5896  Progress: 5346 on 5896  Progress: 5347 on 5896  Progress: 5348 on 5896  Progress: 5349 on 5896  Progress: 5350 on 5896  Progress: 5351 on 5896  Progress: 5352 on 5896  Progress: 5353 on 5896  Progress: 5354 on 5896  Progress: 5355 on 5896  Progress: 5356 on 5896  Progress: 5357 on 5896  Progress: 5358 on 5896  Progress: 5359 on 5896  Progress: 5360 on 5896  Progress: 5361 on 5896  Progress: 5362 on 5896  Progress: 5363 on 5896  Progress: 5364 on 5896  Progress: 5365 on 5896  Progress: 5366 on 5896  Progress: 5367 on 5896  Progress: 5368 on 5896  Progress: 5369 on 5896  Progress: 5370 on 5896  Progress: 5371 on 5896  Progress: 5372 on 5896  Progress: 5373 on 5896  Progress: 5374 on 5896  Progress: 5375 on 5896  Progress: 5376 on 5896  Progress: 5377 on 5896  Progress: 5378 on 5896  Progress: 5379 on 5896  Progress: 5380 on 5896  Progress: 5381 on 5896  Progress: 5382 on 5896  Progress: 5383 on 5896  Progress: 5384 on 5896  Progress: 5385 on 5896  Progress: 5386 on 5896  Progress: 5387 on 5896  Progress: 5388 on 5896  Progress: 5389 on 5896  Progress: 5390 on 5896  Progress: 5391 on 5896  Progress: 5392 on 5896  Progress: 5393 on 5896  Progress: 5394 on 5896  Progress: 5395 on 5896  Progress: 5396 on 5896  Progress: 5397 on 5896  Progress: 5398 on 5896  Progress: 5399 on 5896  Progress: 5400 on 5896  Progress: 5401 on 5896  Progress: 5402 on 5896  Progress: 5403 on 5896  Progress: 5404 on 5896  Progress: 5405 on 5896  Progress: 5406 on 5896  Progress: 5407 on 5896  Progress: 5408 on 5896  Progress: 5409 on 5896  Progress: 5410 on 5896  Progress: 5411 on 5896  Progress: 5412 on 5896  Progress: 5413 on 5896  Progress: 5414 on 5896  Progress: 5415 on 5896  Progress: 5416 on 5896  Progress: 5417 on 5896  Progress: 5418 on 5896  Progress: 5419 on 5896  Progress: 5420 on 5896  Progress: 5421 on 5896  Progress: 5422 on 5896  Progress: 5423 on 5896  Progress: 5424 on 5896  Progress: 5425 on 5896  Progress: 5426 on 5896  Progress: 5427 on 5896  Progress: 5428 on 5896  Progress: 5429 on 5896  Progress: 5430 on 5896  Progress: 5431 on 5896  Progress: 5432 on 5896  Progress: 5433 on 5896  Progress: 5434 on 5896  Progress: 5435 on 5896  Progress: 5436 on 5896  Progress: 5437 on 5896  Progress: 5438 on 5896  Progress: 5439 on 5896  Progress: 5440 on 5896  Progress: 5441 on 5896  Progress: 5442 on 5896  Progress: 5443 on 5896  Progress: 5444 on 5896  Progress: 5445 on 5896  Progress: 5446 on 5896  Progress: 5447 on 5896  Progress: 5448 on 5896  Progress: 5449 on 5896  Progress: 5450 on 5896  Progress: 5451 on 5896  Progress: 5452 on 5896  Progress: 5453 on 5896  Progress: 5454 on 5896  Progress: 5455 on 5896  Progress: 5456 on 5896  Progress: 5457 on 5896  Progress: 5458 on 5896  Progress: 5459 on 5896  Progress: 5460 on 5896  Progress: 5461 on 5896  Progress: 5462 on 5896  Progress: 5463 on 5896  Progress: 5464 on 5896  Progress: 5465 on 5896  Progress: 5466 on 5896  Progress: 5467 on 5896  Progress: 5468 on 5896  Progress: 5469 on 5896  Progress: 5470 on 5896  Progress: 5471 on 5896  Progress: 5472 on 5896  Progress: 5473 on 5896  Progress: 5474 on 5896  Progress: 5475 on 5896  Progress: 5476 on 5896  Progress: 5477 on 5896  Progress: 5478 on 5896  Progress: 5479 on 5896  Progress: 5480 on 5896  Progress: 5481 on 5896  Progress: 5482 on 5896  Progress: 5483 on 5896  Progress: 5484 on 5896  Progress: 5485 on 5896  Progress: 5486 on 5896  Progress: 5487 on 5896  Progress: 5488 on 5896  Progress: 5489 on 5896  Progress: 5490 on 5896  Progress: 5491 on 5896  Progress: 5492 on 5896  Progress: 5493 on 5896  Progress: 5494 on 5896  Progress: 5495 on 5896  Progress: 5496 on 5896  Progress: 5497 on 5896  Progress: 5498 on 5896  Progress: 5499 on 5896  Progress: 5500 on 5896  Progress: 5501 on 5896  Progress: 5502 on 5896  Progress: 5503 on 5896  Progress: 5504 on 5896  Progress: 5505 on 5896  Progress: 5506 on 5896  Progress: 5507 on 5896  Progress: 5508 on 5896  Progress: 5509 on 5896  Progress: 5510 on 5896  Progress: 5511 on 5896  Progress: 5512 on 5896  Progress: 5513 on 5896  Progress: 5514 on 5896  Progress: 5515 on 5896  Progress: 5516 on 5896  Progress: 5517 on 5896  Progress: 5518 on 5896  Progress: 5519 on 5896  Progress: 5520 on 5896  Progress: 5521 on 5896  Progress: 5522 on 5896  Progress: 5523 on 5896  Progress: 5524 on 5896  Progress: 5525 on 5896  Progress: 5526 on 5896  Progress: 5527 on 5896  Progress: 5528 on 5896  Progress: 5529 on 5896  Progress: 5530 on 5896  Progress: 5531 on 5896  Progress: 5532 on 5896  Progress: 5533 on 5896  Progress: 5534 on 5896  Progress: 5535 on 5896  Progress: 5536 on 5896  Progress: 5537 on 5896  Progress: 5538 on 5896  Progress: 5539 on 5896  Progress: 5540 on 5896  Progress: 5541 on 5896  Progress: 5542 on 5896  Progress: 5543 on 5896  Progress: 5544 on 5896  Progress: 5545 on 5896  Progress: 5546 on 5896  Progress: 5547 on 5896  Progress: 5548 on 5896  Progress: 5549 on 5896  Progress: 5550 on 5896  Progress: 5551 on 5896  Progress: 5552 on 5896  Progress: 5553 on 5896  Progress: 5554 on 5896  Progress: 5555 on 5896  Progress: 5556 on 5896  Progress: 5557 on 5896  Progress: 5558 on 5896  Progress: 5559 on 5896  Progress: 5560 on 5896  Progress: 5561 on 5896  Progress: 5562 on 5896  Progress: 5563 on 5896  Progress: 5564 on 5896  Progress: 5565 on 5896  Progress: 5566 on 5896  Progress: 5567 on 5896  Progress: 5568 on 5896  Progress: 5569 on 5896  Progress: 5570 on 5896  Progress: 5571 on 5896  Progress: 5572 on 5896  Progress: 5573 on 5896  Progress: 5574 on 5896  Progress: 5575 on 5896  Progress: 5576 on 5896  Progress: 5577 on 5896  Progress: 5578 on 5896  Progress: 5579 on 5896  Progress: 5580 on 5896  Progress: 5581 on 5896  Progress: 5582 on 5896  Progress: 5583 on 5896  Progress: 5584 on 5896  Progress: 5585 on 5896  Progress: 5586 on 5896  Progress: 5587 on 5896  Progress: 5588 on 5896  Progress: 5589 on 5896  Progress: 5590 on 5896  Progress: 5591 on 5896  Progress: 5592 on 5896  Progress: 5593 on 5896  Progress: 5594 on 5896  Progress: 5595 on 5896  Progress: 5596 on 5896  Progress: 5597 on 5896  Progress: 5598 on 5896  Progress: 5599 on 5896  Progress: 5600 on 5896  Progress: 5601 on 5896  Progress: 5602 on 5896  Progress: 5603 on 5896  Progress: 5604 on 5896  Progress: 5605 on 5896  Progress: 5606 on 5896  Progress: 5607 on 5896  Progress: 5608 on 5896  Progress: 5609 on 5896  Progress: 5610 on 5896  Progress: 5611 on 5896  Progress: 5612 on 5896  Progress: 5613 on 5896  Progress: 5614 on 5896  Progress: 5615 on 5896  Progress: 5616 on 5896  Progress: 5617 on 5896  Progress: 5618 on 5896  Progress: 5619 on 5896  Progress: 5620 on 5896  Progress: 5621 on 5896  Progress: 5622 on 5896  Progress: 5623 on 5896  Progress: 5624 on 5896  Progress: 5625 on 5896  Progress: 5626 on 5896  Progress: 5627 on 5896  Progress: 5628 on 5896  Progress: 5629 on 5896  Progress: 5630 on 5896  Progress: 5631 on 5896  Progress: 5632 on 5896  Progress: 5633 on 5896  Progress: 5634 on 5896  Progress: 5635 on 5896  Progress: 5636 on 5896  Progress: 5637 on 5896  Progress: 5638 on 5896  Progress: 5639 on 5896  Progress: 5640 on 5896  Progress: 5641 on 5896  Progress: 5642 on 5896  Progress: 5643 on 5896  Progress: 5644 on 5896  Progress: 5645 on 5896  Progress: 5646 on 5896  Progress: 5647 on 5896  Progress: 5648 on 5896  Progress: 5649 on 5896  Progress: 5650 on 5896  Progress: 5651 on 5896  Progress: 5652 on 5896  Progress: 5653 on 5896  Progress: 5654 on 5896  Progress: 5655 on 5896  Progress: 5656 on 5896  Progress: 5657 on 5896  Progress: 5658 on 5896  Progress: 5659 on 5896  Progress: 5660 on 5896  Progress: 5661 on 5896  Progress: 5662 on 5896  Progress: 5663 on 5896  Progress: 5664 on 5896  Progress: 5665 on 5896  Progress: 5666 on 5896  Progress: 5667 on 5896  Progress: 5668 on 5896  Progress: 5669 on 5896  Progress: 5670 on 5896  Progress: 5671 on 5896  Progress: 5672 on 5896  Progress: 5673 on 5896  Progress: 5674 on 5896  Progress: 5675 on 5896  Progress: 5676 on 5896  Progress: 5677 on 5896  Progress: 5678 on 5896  Progress: 5679 on 5896  Progress: 5680 on 5896  Progress: 5681 on 5896  Progress: 5682 on 5896  Progress: 5683 on 5896  Progress: 5684 on 5896  Progress: 5685 on 5896  Progress: 5686 on 5896  Progress: 5687 on 5896  Progress: 5688 on 5896  Progress: 5689 on 5896  Progress: 5690 on 5896  Progress: 5691 on 5896  Progress: 5692 on 5896  Progress: 5693 on 5896  Progress: 5694 on 5896  Progress: 5695 on 5896  Progress: 5696 on 5896  Progress: 5697 on 5896  Progress: 5698 on 5896  Progress: 5699 on 5896  Progress: 5700 on 5896  Progress: 5701 on 5896  Progress: 5702 on 5896  Progress: 5703 on 5896  Progress: 5704 on 5896  Progress: 5705 on 5896  Progress: 5706 on 5896  Progress: 5707 on 5896  Progress: 5708 on 5896  Progress: 5709 on 5896  Progress: 5710 on 5896  Progress: 5711 on 5896  Progress: 5712 on 5896  Progress: 5713 on 5896  Progress: 5714 on 5896  Progress: 5715 on 5896  Progress: 5716 on 5896  Progress: 5717 on 5896  Progress: 5718 on 5896  Progress: 5719 on 5896  Progress: 5720 on 5896  Progress: 5721 on 5896  Progress: 5722 on 5896  Progress: 5723 on 5896  Progress: 5724 on 5896  Progress: 5725 on 5896  Progress: 5726 on 5896  Progress: 5727 on 5896  Progress: 5728 on 5896  Progress: 5729 on 5896  Progress: 5730 on 5896  Progress: 5731 on 5896  Progress: 5732 on 5896  Progress: 5733 on 5896  Progress: 5734 on 5896  Progress: 5735 on 5896  Progress: 5736 on 5896  Progress: 5737 on 5896  Progress: 5738 on 5896  Progress: 5739 on 5896  Progress: 5740 on 5896  Progress: 5741 on 5896  Progress: 5742 on 5896  Progress: 5743 on 5896  Progress: 5744 on 5896  Progress: 5745 on 5896  Progress: 5746 on 5896  Progress: 5747 on 5896  Progress: 5748 on 5896  Progress: 5749 on 5896  Progress: 5750 on 5896  Progress: 5751 on 5896  Progress: 5752 on 5896  Progress: 5753 on 5896  Progress: 5754 on 5896  Progress: 5755 on 5896  Progress: 5756 on 5896  Progress: 5757 on 5896  Progress: 5758 on 5896  Progress: 5759 on 5896  Progress: 5760 on 5896  Progress: 5761 on 5896  Progress: 5762 on 5896  Progress: 5763 on 5896  Progress: 5764 on 5896  Progress: 5765 on 5896  Progress: 5766 on 5896  Progress: 5767 on 5896  Progress: 5768 on 5896  Progress: 5769 on 5896  Progress: 5770 on 5896  Progress: 5771 on 5896  Progress: 5772 on 5896  Progress: 5773 on 5896  Progress: 5774 on 5896  Progress: 5775 on 5896  Progress: 5776 on 5896  Progress: 5777 on 5896  Progress: 5778 on 5896  Progress: 5779 on 5896  Progress: 5780 on 5896  Progress: 5781 on 5896  Progress: 5782 on 5896  Progress: 5783 on 5896  Progress: 5784 on 5896  Progress: 5785 on 5896  Progress: 5786 on 5896  Progress: 5787 on 5896  Progress: 5788 on 5896  Progress: 5789 on 5896  Progress: 5790 on 5896  Progress: 5791 on 5896  Progress: 5792 on 5896  Progress: 5793 on 5896  Progress: 5794 on 5896  Progress: 5795 on 5896  Progress: 5796 on 5896  Progress: 5797 on 5896  Progress: 5798 on 5896  Progress: 5799 on 5896  Progress: 5800 on 5896  Progress: 5801 on 5896  Progress: 5802 on 5896  Progress: 5803 on 5896  Progress: 5804 on 5896  Progress: 5805 on 5896  Progress: 5806 on 5896  Progress: 5807 on 5896  Progress: 5808 on 5896  Progress: 5809 on 5896  Progress: 5810 on 5896  Progress: 5811 on 5896  Progress: 5812 on 5896  Progress: 5813 on 5896  Progress: 5814 on 5896  Progress: 5815 on 5896  Progress: 5816 on 5896  Progress: 5817 on 5896  Progress: 5818 on 5896  Progress: 5819 on 5896  Progress: 5820 on 5896  Progress: 5821 on 5896  Progress: 5822 on 5896  Progress: 5823 on 5896  Progress: 5824 on 5896  Progress: 5825 on 5896  Progress: 5826 on 5896  Progress: 5827 on 5896  Progress: 5828 on 5896  Progress: 5829 on 5896  Progress: 5830 on 5896  Progress: 5831 on 5896  Progress: 5832 on 5896  Progress: 5833 on 5896  Progress: 5834 on 5896  Progress: 5835 on 5896  Progress: 5836 on 5896  Progress: 5837 on 5896  Progress: 5838 on 5896  Progress: 5839 on 5896  Progress: 5840 on 5896  Progress: 5841 on 5896  Progress: 5842 on 5896  Progress: 5843 on 5896  Progress: 5844 on 5896  Progress: 5845 on 5896  Progress: 5846 on 5896  Progress: 5847 on 5896  Progress: 5848 on 5896  Progress: 5849 on 5896  Progress: 5850 on 5896  Progress: 5851 on 5896  Progress: 5852 on 5896  Progress: 5853 on 5896  Progress: 5854 on 5896  Progress: 5855 on 5896  Progress: 5856 on 5896  Progress: 5857 on 5896  Progress: 5858 on 5896  Progress: 5859 on 5896  Progress: 5860 on 5896  Progress: 5861 on 5896  Progress: 5862 on 5896  Progress: 5863 on 5896  Progress: 5864 on 5896  Progress: 5865 on 5896  Progress: 5866 on 5896  Progress: 5867 on 5896  Progress: 5868 on 5896  Progress: 5869 on 5896  Progress: 5870 on 5896  Progress: 5871 on 5896  Progress: 5872 on 5896  Progress: 5873 on 5896  Progress: 5874 on 5896  Progress: 5875 on 5896  Progress: 5876 on 5896  Progress: 5877 on 5896  Progress: 5878 on 5896  Progress: 5879 on 5896  Progress: 5880 on 5896  Progress: 5881 on 5896  Progress: 5882 on 5896  Progress: 5883 on 5896  Progress: 5884 on 5896  Progress: 5885 on 5896  Progress: 5886 on 5896  Progress: 5887 on 5896  Progress: 5888 on 5896  Progress: 5889 on 5896  Progress: 5890 on 5896  Progress: 5891 on 5896  Progress: 5892 on 5896  Progress: 5893 on 5896  Progress: 5894 on 5896  Progress: 5895 on 5896  Progress: 5896 on 5896  
BN_wspoltworca <- BN_wspoltworca %>%
  mutate(ZA_ADNOTACJE = ifelse(czy_nazwisko==FALSE|czy_imie==FALSE,paste("UWAGA! Konflikt w danych osobowych w polach 700 i 245. Porównaj pola współtórców w formularzu z polem BN: ",X245c,sep = ""),NA)) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja,ZA_ADNOTACJE)

#7: opis współtwórców
opis_wspoltworcow <- BN_wspoltworca %>%
  select(ZA_UWAGI,funkcja,OS_IMIE,OS_NAZWISKO) %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  filter(!is.na(OS_NAZWISKO)|(is.na(OS_NAZWISKO)&grepl("et al\\.",X245c))) %>%
  mutate(jest_et_al = grepl("et al\\.",X245c),
         OS_IMIE = ifelse(OS_IMIE=="*","",as.character(OS_IMIE)),
         opis = ifelse(!is.na(OS_NAZWISKO),paste(funkcja,OS_IMIE, OS_NAZWISKO, sep = " "),""),
         opis = str_replace_all(opis," +"," "),
         opis = ifelse(opis==" ","",as.character(opis))) %>%
  select(ZA_UWAGI,opis,jest_et_al) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ", "),
         jest_et_al = paste(unique(jest_et_al),sep = "")) %>%
  ungroup() %>%
  unique() %>%
  mutate(opis = ifelse(jest_et_al==TRUE&opis=="","et al.",
                       ifelse(jest_et_al,paste(opis,"et al.",sep = " "),opis))) %>%
  select(ZA_UWAGI,opis)

#700
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress:  1 on 10  Progress:  2 on 10  Progress:  3 on 10  Progress:  4 on 10  Progress:  5 on 10  Progress:  6 on 10  Progress:  7 on 10  Progress:  8 on 10  Progress:  9 on 10  Progress: 10 on 10  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress:  1 on 10  Progress:  2 on 10  Progress:  3 on 10  Progress:  4 on 10  Progress:  5 on 10  Progress:  6 on 10  Progress:  7 on 10  Progress:  8 on 10  Progress:  9 on 10  Progress: 10 on 10  
marc_field_700 <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         funkcja_duza = str_to_lower(funkcja),
         opis = paste(funkcja_duza,OS_IMIE,OS_NAZWISKO, sep = " "),
         opis_duzy = paste(funkcja,OS_IMIE,OS_NAZWISKO, sep = " ")) %>%
  select(ZA_UWAGI,opis,opis_duzy) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ". "),
         opis_duzy = paste(opis_duzy,collapse = ". ")) %>%
  ungroup() %>%
  unique()

#opis współtwórców ze strefy odpowiedzialności 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$c`)

#porównanie opisu współtwórców z 245 i 700
wspoltworcy <- marc_field_700 %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  cSplit(.,"$c",sep = " ; ",direction = "long") %>%
  #ograniczanie osób ze strefy odpowiedzialności
  mutate(czy_mala = grepl(" [a-zęóąśłżźćń]|^[a-zęóąśłżźćń]|\\[[a-zęóąśłżźćń]",`$c`,ignore.case = FALSE)) %>%
  filter(czy_mala==TRUE) %>%
  select(-czy_mala) %>%
  #mutate(`$c` = gsub("^(\\[){0,1}([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])","\\1\\U\\2",perl = TRUE,`$c`)) %>%
  group_by(ZA_UWAGI) %>%
  mutate(X245 = paste(`$c`, collapse = ", ")) %>%
  select(-`$c`) %>%
  unique() %>%
  mutate(order_pbl = as.character(str_extract_all(opis,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_pbl = str_replace_all(order_pbl,"(.*?\")(.)(\".*?.)", "\\2"),
         order_bn = as.character(str_extract_all(X245,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_bn = str_replace_all(order_bn,"(.*?\")(.)(\".*?.)", "\\2"),
         X245 = str_remove(X245, "\\.$"),
         X245 = str_remove(X245, "\\["),
         X245 = str_remove(X245, "\\]"),
         order_pbl = str_remove_all(order_pbl, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         order_bn = str_remove_all(order_bn, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         to_samo = order_pbl==order_bn,
         X245 = gsub("(^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(.*)","\\U\\1\\E\\2",perl = TRUE, X245)) %>%
  left_join(.,za_jezyk_oryginalu,by="ZA_UWAGI") %>%
  mutate(czy_pl = grepl("pol",ZA_JEZYK_ORYGINALU)|is.na(ZA_JEZYK_ORYGINALU),
         decyzja = ifelse(to_samo==FALSE|czy_pl==FALSE,FALSE,TRUE))

za_opis_wspoltworcow <- wspoltworcy %>%
  mutate(za_opis_wspoltworcow = ifelse(decyzja==TRUE,as.character(X245),paste(X245,opis_duzy,sep = "#"))) %>%
  select(ZA_UWAGI,opis_duzy,za_opis_wspoltworcow) %>%
  cSplit(.,"za_opis_wspoltworcow",sep = "#",direction = "wide") %>%
  mutate(za_opis_wspoltworcow_2 = ifelse(is.na(za_opis_wspoltworcow_2),'',as.character(za_opis_wspoltworcow_2)),
         to_samo = za_opis_wspoltworcow_1==za_opis_wspoltworcow_2) %>%
  filter(to_samo==FALSE) %>%
  group_by(ZA_UWAGI) %>%
  mutate(za_opis_wspoltworcow = paste(za_opis_wspoltworcow_1,za_opis_wspoltworcow_2,sep = "#"),
         za_opis_wspoltworcow = str_remove_all(za_opis_wspoltworcow,"\\#$")) %>%
  select(ZA_UWAGI,za_opis_wspoltworcow)

opis_wspoltworcow <- opis_wspoltworcow %>%
  filter(ZA_UWAGI %notin% za_opis_wspoltworcow$ZA_UWAGI) %>%
  filter(!is.na(opis)) %>%
  rename(za_opis_wspoltworcow = opis)

za_opis_wspoltworcow <- za_opis_wspoltworcow %>%
  bind_rows(.,opis_wspoltworcow) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#8 wydanie
marc_field_250 <- data %>%
  select(ZA_UWAGI,X250)%>%
  filter(X250!="") %>%
  mutate(X250=str_replace_all(X250,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X250",sep = "~",direction = "long") %>%
  filter(X250!="") %>%
  mutate(X250=str_remove_all(X250,"^\\|")) %>%
  mutate(indicator = str_replace_all(X250,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X250,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_250)[1]))
colnames(empty_table) <-subfield_list
marc_field_250<-cbind(marc_field_250,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_250$X250 <- str_replace(marc_field_250$X250,subfield_list_char[i],"|\\1")
}
Progress: 1 on 2  Progress: 2 on 2  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_250[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_250$X250),str_replace_all(gsub(string,"\\3",marc_field_250$X250),"\\${2}.", "~"),NA)
}
Progress: 1 on 2  Progress: 2 on 2  
za_wydanie <- marc_field_250 %>%
  select(ZA_UWAGI, wydanie = `$a`) %>%
  mutate(wydanie = str_remove(wydanie," \\/$")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#9: instytucja sprawcza
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
za_instytucja <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`) %>%
  filter(!is.na(X245c)) %>%
  mutate(instytucja = ifelse(grepl("\\;",X245c),str_replace_all(X245c, "(.*?)(\\;(?!.*\\;))( )+(.*?$)","\\4"),"")) %>%
  left_join(.,BN_wspoltworca,by="ZA_UWAGI")

x <- 1:lengths(za_instytucja[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  za_instytucja$czy_nazwisko[i] <- grepl(za_instytucja$OS_NAZWISKO[i],za_instytucja$X245c[i])
  za_instytucja$czy_imie[i] <- grepl(za_instytucja$OS_IMIE[i],za_instytucja$X245c[i])
}
Progress:    1 on 8879  Progress:    2 on 8879  Progress:    3 on 8879  Progress:    4 on 8879  Progress:    5 on 8879  Progress:    6 on 8879  Progress:    7 on 8879  Progress:    8 on 8879  Progress:    9 on 8879  Progress:   10 on 8879  Progress:   11 on 8879  Progress:   12 on 8879  Progress:   13 on 8879  Progress:   14 on 8879  Progress:   15 on 8879  Progress:   16 on 8879  Progress:   17 on 8879  Progress:   18 on 8879  Progress:   19 on 8879  Progress:   20 on 8879  Progress:   21 on 8879  Progress:   22 on 8879  Progress:   23 on 8879  Progress:   24 on 8879  Progress:   25 on 8879  Progress:   26 on 8879  Progress:   27 on 8879  Progress:   28 on 8879  Progress:   29 on 8879  Progress:   30 on 8879  Progress:   31 on 8879  Progress:   32 on 8879  Progress:   33 on 8879  Progress:   34 on 8879  Progress:   35 on 8879  Progress:   36 on 8879  Progress:   37 on 8879  Progress:   38 on 8879  Progress:   39 on 8879  Progress:   40 on 8879  Progress:   41 on 8879  Progress:   42 on 8879  Progress:   43 on 8879  Progress:   44 on 8879  Progress:   45 on 8879  Progress:   46 on 8879  Progress:   47 on 8879  Progress:   48 on 8879  Progress:   49 on 8879  Progress:   50 on 8879  Progress:   51 on 8879  Progress:   52 on 8879  Progress:   53 on 8879  Progress:   54 on 8879  Progress:   55 on 8879  Progress:   56 on 8879  Progress:   57 on 8879  Progress:   58 on 8879  Progress:   59 on 8879  Progress:   60 on 8879  Progress:   61 on 8879  Progress:   62 on 8879  Progress:   63 on 8879  Progress:   64 on 8879  Progress:   65 on 8879  Progress:   66 on 8879  Progress:   67 on 8879  Progress:   68 on 8879  Progress:   69 on 8879  Progress:   70 on 8879  Progress:   71 on 8879  Progress:   72 on 8879  Progress:   73 on 8879  Progress:   74 on 8879  Progress:   75 on 8879  Progress:   76 on 8879  Progress:   77 on 8879  Progress:   78 on 8879  Progress:   79 on 8879  Progress:   80 on 8879  Progress:   81 on 8879  Progress:   82 on 8879  Progress:   83 on 8879  Progress:   84 on 8879  Progress:   85 on 8879  Progress:   86 on 8879  Progress:   87 on 8879  Progress:   88 on 8879  Progress:   89 on 8879  Progress:   90 on 8879  Progress:   91 on 8879  Progress:   92 on 8879  Progress:   93 on 8879  Progress:   94 on 8879  Progress:   95 on 8879  Progress:   96 on 8879  Progress:   97 on 8879  Progress:   98 on 8879  Progress:   99 on 8879  Progress:  100 on 8879  Progress:  101 on 8879  Progress:  102 on 8879  Progress:  103 on 8879  Progress:  104 on 8879  Progress:  105 on 8879  Progress:  106 on 8879  Progress:  107 on 8879  Progress:  108 on 8879  Progress:  109 on 8879  Progress:  110 on 8879  Progress:  111 on 8879  Progress:  112 on 8879  Progress:  113 on 8879  Progress:  114 on 8879  Progress:  115 on 8879  Progress:  116 on 8879  Progress:  117 on 8879  Progress:  118 on 8879  Progress:  119 on 8879  Progress:  120 on 8879  Progress:  121 on 8879  Progress:  122 on 8879  Progress:  123 on 8879  Progress:  124 on 8879  Progress:  125 on 8879  Progress:  126 on 8879  Progress:  127 on 8879  Progress:  128 on 8879  Progress:  129 on 8879  Progress:  130 on 8879  Progress:  131 on 8879  Progress:  132 on 8879  Progress:  133 on 8879  Progress:  134 on 8879  Progress:  135 on 8879  Progress:  136 on 8879  Progress:  137 on 8879  Progress:  138 on 8879  Progress:  139 on 8879  Progress:  140 on 8879  Progress:  141 on 8879  Progress:  142 on 8879  Progress:  143 on 8879  Progress:  144 on 8879  Progress:  145 on 8879  Progress:  146 on 8879  Progress:  147 on 8879  Progress:  148 on 8879  Progress:  149 on 8879  Progress:  150 on 8879  Progress:  151 on 8879  Progress:  152 on 8879  Progress:  153 on 8879  Progress:  154 on 8879  Progress:  155 on 8879  Progress:  156 on 8879  Progress:  157 on 8879  Progress:  158 on 8879  Progress:  159 on 8879  Progress:  160 on 8879  Progress:  161 on 8879  Progress:  162 on 8879  Progress:  163 on 8879  Progress:  164 on 8879  Progress:  165 on 8879  Progress:  166 on 8879  Progress:  167 on 8879  Progress:  168 on 8879  Progress:  169 on 8879  Progress:  170 on 8879  Progress:  171 on 8879  Progress:  172 on 8879  Progress:  173 on 8879  Progress:  174 on 8879  Progress:  175 on 8879  Progress:  176 on 8879  Progress:  177 on 8879  Progress:  178 on 8879  Progress:  179 on 8879  Progress:  180 on 8879  Progress:  181 on 8879  Progress:  182 on 8879  Progress:  183 on 8879  Progress:  184 on 8879  Progress:  185 on 8879  Progress:  186 on 8879  Progress:  187 on 8879  Progress:  188 on 8879  Progress:  189 on 8879  Progress:  190 on 8879  Progress:  191 on 8879  Progress:  192 on 8879  Progress:  193 on 8879  Progress:  194 on 8879  Progress:  195 on 8879  Progress:  196 on 8879  Progress:  197 on 8879  Progress:  198 on 8879  Progress:  199 on 8879  Progress:  200 on 8879  Progress:  201 on 8879  Progress:  202 on 8879  Progress:  203 on 8879  Progress:  204 on 8879  Progress:  205 on 8879  Progress:  206 on 8879  Progress:  207 on 8879  Progress:  208 on 8879  Progress:  209 on 8879  Progress:  210 on 8879  Progress:  211 on 8879  Progress:  212 on 8879  Progress:  213 on 8879  Progress:  214 on 8879  Progress:  215 on 8879  Progress:  216 on 8879  Progress:  217 on 8879  Progress:  218 on 8879  Progress:  219 on 8879  Progress:  220 on 8879  Progress:  221 on 8879  Progress:  222 on 8879  Progress:  223 on 8879  Progress:  224 on 8879  Progress:  225 on 8879  Progress:  226 on 8879  Progress:  227 on 8879  Progress:  228 on 8879  Progress:  229 on 8879  Progress:  230 on 8879  Progress:  231 on 8879  Progress:  232 on 8879  Progress:  233 on 8879  Progress:  234 on 8879  Progress:  235 on 8879  Progress:  236 on 8879  Progress:  237 on 8879  Progress:  238 on 8879  Progress:  239 on 8879  Progress:  240 on 8879  Progress:  241 on 8879  Progress:  242 on 8879  Progress:  243 on 8879  Progress:  244 on 8879  Progress:  245 on 8879  Progress:  246 on 8879  Progress:  247 on 8879  Progress:  248 on 8879  Progress:  249 on 8879  Progress:  250 on 8879  Progress:  251 on 8879  Progress:  252 on 8879  Progress:  253 on 8879  Progress:  254 on 8879  Progress:  255 on 8879  Progress:  256 on 8879  Progress:  257 on 8879  Progress:  258 on 8879  Progress:  259 on 8879  Progress:  260 on 8879  Progress:  261 on 8879  Progress:  262 on 8879  Progress:  263 on 8879  Progress:  264 on 8879  Progress:  265 on 8879  Progress:  266 on 8879  Progress:  267 on 8879  Progress:  268 on 8879  Progress:  269 on 8879  Progress:  270 on 8879  Progress:  271 on 8879  Progress:  272 on 8879  Progress:  273 on 8879  Progress:  274 on 8879  Progress:  275 on 8879  Progress:  276 on 8879  Progress:  277 on 8879  Progress:  278 on 8879  Progress:  279 on 8879  Progress:  280 on 8879  Progress:  281 on 8879  Progress:  282 on 8879  Progress:  283 on 8879  Progress:  284 on 8879  Progress:  285 on 8879  Progress:  286 on 8879  Progress:  287 on 8879  Progress:  288 on 8879  Progress:  289 on 8879  Progress:  290 on 8879  Progress:  291 on 8879  Progress:  292 on 8879  Progress:  293 on 8879  Progress:  294 on 8879  Progress:  295 on 8879  Progress:  296 on 8879  Progress:  297 on 8879  Progress:  298 on 8879  Progress:  299 on 8879  Progress:  300 on 8879  Progress:  301 on 8879  Progress:  302 on 8879  Progress:  303 on 8879  Progress:  304 on 8879  Progress:  305 on 8879  Progress:  306 on 8879  Progress:  307 on 8879  Progress:  308 on 8879  Progress:  309 on 8879  Progress:  310 on 8879  Progress:  311 on 8879  Progress:  312 on 8879  Progress:  313 on 8879  Progress:  314 on 8879  Progress:  315 on 8879  Progress:  316 on 8879  Progress:  317 on 8879  Progress:  318 on 8879  Progress:  319 on 8879  Progress:  320 on 8879  Progress:  321 on 8879  Progress:  322 on 8879  Progress:  323 on 8879  Progress:  324 on 8879  Progress:  325 on 8879  Progress:  326 on 8879  Progress:  327 on 8879  Progress:  328 on 8879  Progress:  329 on 8879  Progress:  330 on 8879  Progress:  331 on 8879  Progress:  332 on 8879  Progress:  333 on 8879  Progress:  334 on 8879  Progress:  335 on 8879  Progress:  336 on 8879  Progress:  337 on 8879  Progress:  338 on 8879  Progress:  339 on 8879  Progress:  340 on 8879  Progress:  341 on 8879  Progress:  342 on 8879  Progress:  343 on 8879  Progress:  344 on 8879  Progress:  345 on 8879  Progress:  346 on 8879  Progress:  347 on 8879  Progress:  348 on 8879  Progress:  349 on 8879  Progress:  350 on 8879  Progress:  351 on 8879  Progress:  352 on 8879  Progress:  353 on 8879  Progress:  354 on 8879  Progress:  355 on 8879  Progress:  356 on 8879  Progress:  357 on 8879  Progress:  358 on 8879  Progress:  359 on 8879  Progress:  360 on 8879  Progress:  361 on 8879  Progress:  362 on 8879  Progress:  363 on 8879  Progress:  364 on 8879  Progress:  365 on 8879  Progress:  366 on 8879  Progress:  367 on 8879  Progress:  368 on 8879  Progress:  369 on 8879  Progress:  370 on 8879  Progress:  371 on 8879  Progress:  372 on 8879  Progress:  373 on 8879  Progress:  374 on 8879  Progress:  375 on 8879  Progress:  376 on 8879  Progress:  377 on 8879  Progress:  378 on 8879  Progress:  379 on 8879  Progress:  380 on 8879  Progress:  381 on 8879  Progress:  382 on 8879  Progress:  383 on 8879  Progress:  384 on 8879  Progress:  385 on 8879  Progress:  386 on 8879  Progress:  387 on 8879  Progress:  388 on 8879  Progress:  389 on 8879  Progress:  390 on 8879  Progress:  391 on 8879  Progress:  392 on 8879  Progress:  393 on 8879  Progress:  394 on 8879  Progress:  395 on 8879  Progress:  396 on 8879  Progress:  397 on 8879  Progress:  398 on 8879  Progress:  399 on 8879  Progress:  400 on 8879  Progress:  401 on 8879  Progress:  402 on 8879  Progress:  403 on 8879  Progress:  404 on 8879  Progress:  405 on 8879  Progress:  406 on 8879  Progress:  407 on 8879  Progress:  408 on 8879  Progress:  409 on 8879  Progress:  410 on 8879  Progress:  411 on 8879  Progress:  412 on 8879  Progress:  413 on 8879  Progress:  414 on 8879  Progress:  415 on 8879  Progress:  416 on 8879  Progress:  417 on 8879  Progress:  418 on 8879  Progress:  419 on 8879  Progress:  420 on 8879  Progress:  421 on 8879  Progress:  422 on 8879  Progress:  423 on 8879  Progress:  424 on 8879  Progress:  425 on 8879  Progress:  426 on 8879  Progress:  427 on 8879  Progress:  428 on 8879  Progress:  429 on 8879  Progress:  430 on 8879  Progress:  431 on 8879  Progress:  432 on 8879  Progress:  433 on 8879  Progress:  434 on 8879  Progress:  435 on 8879  Progress:  436 on 8879  Progress:  437 on 8879  Progress:  438 on 8879  Progress:  439 on 8879  Progress:  440 on 8879  Progress:  441 on 8879  Progress:  442 on 8879  Progress:  443 on 8879  Progress:  444 on 8879  Progress:  445 on 8879  Progress:  446 on 8879  Progress:  447 on 8879  Progress:  448 on 8879  Progress:  449 on 8879  Progress:  450 on 8879  Progress:  451 on 8879  Progress:  452 on 8879  Progress:  453 on 8879  Progress:  454 on 8879  Progress:  455 on 8879  Progress:  456 on 8879  Progress:  457 on 8879  Progress:  458 on 8879  Progress:  459 on 8879  Progress:  460 on 8879  Progress:  461 on 8879  Progress:  462 on 8879  Progress:  463 on 8879  Progress:  464 on 8879  Progress:  465 on 8879  Progress:  466 on 8879  Progress:  467 on 8879  Progress:  468 on 8879  Progress:  469 on 8879  Progress:  470 on 8879  Progress:  471 on 8879  Progress:  472 on 8879  Progress:  473 on 8879  Progress:  474 on 8879  Progress:  475 on 8879  Progress:  476 on 8879  Progress:  477 on 8879  Progress:  478 on 8879  Progress:  479 on 8879  Progress:  480 on 8879  Progress:  481 on 8879  Progress:  482 on 8879  Progress:  483 on 8879  Progress:  484 on 8879  Progress:  485 on 8879  Progress:  486 on 8879  Progress:  487 on 8879  Progress:  488 on 8879  Progress:  489 on 8879  Progress:  490 on 8879  Progress:  491 on 8879  Progress:  492 on 8879  Progress:  493 on 8879  Progress:  494 on 8879  Progress:  495 on 8879  Progress:  496 on 8879  Progress:  497 on 8879  Progress:  498 on 8879  Progress:  499 on 8879  Progress:  500 on 8879  Progress:  501 on 8879  Progress:  502 on 8879  Progress:  503 on 8879  Progress:  504 on 8879  Progress:  505 on 8879  Progress:  506 on 8879  Progress:  507 on 8879  Progress:  508 on 8879  Progress:  509 on 8879  Progress:  510 on 8879  Progress:  511 on 8879  Progress:  512 on 8879  Progress:  513 on 8879  Progress:  514 on 8879  Progress:  515 on 8879  Progress:  516 on 8879  Progress:  517 on 8879  Progress:  518 on 8879  Progress:  519 on 8879  Progress:  520 on 8879  Progress:  521 on 8879  Progress:  522 on 8879  Progress:  523 on 8879  Progress:  524 on 8879  Progress:  525 on 8879  Progress:  526 on 8879  Progress:  527 on 8879  Progress:  528 on 8879  Progress:  529 on 8879  Progress:  530 on 8879  Progress:  531 on 8879  Progress:  532 on 8879  Progress:  533 on 8879  Progress:  534 on 8879  Progress:  535 on 8879  Progress:  536 on 8879  Progress:  537 on 8879  Progress:  538 on 8879  Progress:  539 on 8879  Progress:  540 on 8879  Progress:  541 on 8879  Progress:  542 on 8879  Progress:  543 on 8879  Progress:  544 on 8879  Progress:  545 on 8879  Progress:  546 on 8879  Progress:  547 on 8879  Progress:  548 on 8879  Progress:  549 on 8879  Progress:  550 on 8879  Progress:  551 on 8879  Progress:  552 on 8879  Progress:  553 on 8879  Progress:  554 on 8879  Progress:  555 on 8879  Progress:  556 on 8879  Progress:  557 on 8879  Progress:  558 on 8879  Progress:  559 on 8879  Progress:  560 on 8879  Progress:  561 on 8879  Progress:  562 on 8879  Progress:  563 on 8879  Progress:  564 on 8879  Progress:  565 on 8879  Progress:  566 on 8879  Progress:  567 on 8879  Progress:  568 on 8879  Progress:  569 on 8879  Progress:  570 on 8879  Progress:  571 on 8879  Progress:  572 on 8879  Progress:  573 on 8879  Progress:  574 on 8879  Progress:  575 on 8879  Progress:  576 on 8879  Progress:  577 on 8879  Progress:  578 on 8879  Progress:  579 on 8879  Progress:  580 on 8879  Progress:  581 on 8879  Progress:  582 on 8879  Progress:  583 on 8879  Progress:  584 on 8879  Progress:  585 on 8879  Progress:  586 on 8879  Progress:  587 on 8879  Progress:  588 on 8879  Progress:  589 on 8879  Progress:  590 on 8879  Progress:  591 on 8879  Progress:  592 on 8879  Progress:  593 on 8879  Progress:  594 on 8879  Progress:  595 on 8879  Progress:  596 on 8879  Progress:  597 on 8879  Progress:  598 on 8879  Progress:  599 on 8879  Progress:  600 on 8879  Progress:  601 on 8879  Progress:  602 on 8879  Progress:  603 on 8879  Progress:  604 on 8879  Progress:  605 on 8879  Progress:  606 on 8879  Progress:  607 on 8879  Progress:  608 on 8879  Progress:  609 on 8879  Progress:  610 on 8879  Progress:  611 on 8879  Progress:  612 on 8879  Progress:  613 on 8879  Progress:  614 on 8879  Progress:  615 on 8879  Progress:  616 on 8879  Progress:  617 on 8879  Progress:  618 on 8879  Progress:  619 on 8879  Progress:  620 on 8879  Progress:  621 on 8879  Progress:  622 on 8879  Progress:  623 on 8879  Progress:  624 on 8879  Progress:  625 on 8879  Progress:  626 on 8879  Progress:  627 on 8879  Progress:  628 on 8879  Progress:  629 on 8879  Progress:  630 on 8879  Progress:  631 on 8879  Progress:  632 on 8879  Progress:  633 on 8879  Progress:  634 on 8879  Progress:  635 on 8879  Progress:  636 on 8879  Progress:  637 on 8879  Progress:  638 on 8879  Progress:  639 on 8879  Progress:  640 on 8879  Progress:  641 on 8879  Progress:  642 on 8879  Progress:  643 on 8879  Progress:  644 on 8879  Progress:  645 on 8879  Progress:  646 on 8879  Progress:  647 on 8879  Progress:  648 on 8879  Progress:  649 on 8879  Progress:  650 on 8879  Progress:  651 on 8879  Progress:  652 on 8879  Progress:  653 on 8879  Progress:  654 on 8879  Progress:  655 on 8879  Progress:  656 on 8879  Progress:  657 on 8879  Progress:  658 on 8879  Progress:  659 on 8879  Progress:  660 on 8879  Progress:  661 on 8879  Progress:  662 on 8879  Progress:  663 on 8879  Progress:  664 on 8879  Progress:  665 on 8879  Progress:  666 on 8879  Progress:  667 on 8879  Progress:  668 on 8879  Progress:  669 on 8879  Progress:  670 on 8879  Progress:  671 on 8879  Progress:  672 on 8879  Progress:  673 on 8879  Progress:  674 on 8879  Progress:  675 on 8879  Progress:  676 on 8879  Progress:  677 on 8879  Progress:  678 on 8879  Progress:  679 on 8879  Progress:  680 on 8879  Progress:  681 on 8879  Progress:  682 on 8879  Progress:  683 on 8879  Progress:  684 on 8879  Progress:  685 on 8879  Progress:  686 on 8879  Progress:  687 on 8879  Progress:  688 on 8879  Progress:  689 on 8879  Progress:  690 on 8879  Progress:  691 on 8879  Progress:  692 on 8879  Progress:  693 on 8879  Progress:  694 on 8879  Progress:  695 on 8879  Progress:  696 on 8879  Progress:  697 on 8879  Progress:  698 on 8879  Progress:  699 on 8879  Progress:  700 on 8879  Progress:  701 on 8879  Progress:  702 on 8879  Progress:  703 on 8879  Progress:  704 on 8879  Progress:  705 on 8879  Progress:  706 on 8879  Progress:  707 on 8879  Progress:  708 on 8879  Progress:  709 on 8879  Progress:  710 on 8879  Progress:  711 on 8879  Progress:  712 on 8879  Progress:  713 on 8879  Progress:  714 on 8879  Progress:  715 on 8879  Progress:  716 on 8879  Progress:  717 on 8879  Progress:  718 on 8879  Progress:  719 on 8879  Progress:  720 on 8879  Progress:  721 on 8879  Progress:  722 on 8879  Progress:  723 on 8879  Progress:  724 on 8879  Progress:  725 on 8879  Progress:  726 on 8879  Progress:  727 on 8879  Progress:  728 on 8879  Progress:  729 on 8879  Progress:  730 on 8879  Progress:  731 on 8879  Progress:  732 on 8879  Progress:  733 on 8879  Progress:  734 on 8879  Progress:  735 on 8879  Progress:  736 on 8879  Progress:  737 on 8879  Progress:  738 on 8879  Progress:  739 on 8879  Progress:  740 on 8879  Progress:  741 on 8879  Progress:  742 on 8879  Progress:  743 on 8879  Progress:  744 on 8879  Progress:  745 on 8879  Progress:  746 on 8879  Progress:  747 on 8879  Progress:  748 on 8879  Progress:  749 on 8879  Progress:  750 on 8879  Progress:  751 on 8879  Progress:  752 on 8879  Progress:  753 on 8879  Progress:  754 on 8879  Progress:  755 on 8879  Progress:  756 on 8879  Progress:  757 on 8879  Progress:  758 on 8879  Progress:  759 on 8879  Progress:  760 on 8879  Progress:  761 on 8879  Progress:  762 on 8879  Progress:  763 on 8879  Progress:  764 on 8879  Progress:  765 on 8879  Progress:  766 on 8879  Progress:  767 on 8879  Progress:  768 on 8879  Progress:  769 on 8879  Progress:  770 on 8879  Progress:  771 on 8879  Progress:  772 on 8879  Progress:  773 on 8879  Progress:  774 on 8879  Progress:  775 on 8879  Progress:  776 on 8879  Progress:  777 on 8879  Progress:  778 on 8879  Progress:  779 on 8879  Progress:  780 on 8879  Progress:  781 on 8879  Progress:  782 on 8879  Progress:  783 on 8879  Progress:  784 on 8879  Progress:  785 on 8879  Progress:  786 on 8879  Progress:  787 on 8879  Progress:  788 on 8879  Progress:  789 on 8879  Progress:  790 on 8879  Progress:  791 on 8879  Progress:  792 on 8879  Progress:  793 on 8879  Progress:  794 on 8879  Progress:  795 on 8879  Progress:  796 on 8879  Progress:  797 on 8879  Progress:  798 on 8879  Progress:  799 on 8879  Progress:  800 on 8879  Progress:  801 on 8879  Progress:  802 on 8879  Progress:  803 on 8879  Progress:  804 on 8879  Progress:  805 on 8879  Progress:  806 on 8879  Progress:  807 on 8879  Progress:  808 on 8879  Progress:  809 on 8879  Progress:  810 on 8879  Progress:  811 on 8879  Progress:  812 on 8879  Progress:  813 on 8879  Progress:  814 on 8879  Progress:  815 on 8879  Progress:  816 on 8879  Progress:  817 on 8879  Progress:  818 on 8879  Progress:  819 on 8879  Progress:  820 on 8879  Progress:  821 on 8879  Progress:  822 on 8879  Progress:  823 on 8879  Progress:  824 on 8879  Progress:  825 on 8879  Progress:  826 on 8879  Progress:  827 on 8879  Progress:  828 on 8879  Progress:  829 on 8879  Progress:  830 on 8879  Progress:  831 on 8879  Progress:  832 on 8879  Progress:  833 on 8879  Progress:  834 on 8879  Progress:  835 on 8879  Progress:  836 on 8879  Progress:  837 on 8879  Progress:  838 on 8879  Progress:  839 on 8879  Progress:  840 on 8879  Progress:  841 on 8879  Progress:  842 on 8879  Progress:  843 on 8879  Progress:  844 on 8879  Progress:  845 on 8879  Progress:  846 on 8879  Progress:  847 on 8879  Progress:  848 on 8879  Progress:  849 on 8879  Progress:  850 on 8879  Progress:  851 on 8879  Progress:  852 on 8879  Progress:  853 on 8879  Progress:  854 on 8879  Progress:  855 on 8879  Progress:  856 on 8879  Progress:  857 on 8879  Progress:  858 on 8879  Progress:  859 on 8879  Progress:  860 on 8879  Progress:  861 on 8879  Progress:  862 on 8879  Progress:  863 on 8879  Progress:  864 on 8879  Progress:  865 on 8879  Progress:  866 on 8879  Progress:  867 on 8879  Progress:  868 on 8879  Progress:  869 on 8879  Progress:  870 on 8879  Progress:  871 on 8879  Progress:  872 on 8879  Progress:  873 on 8879  Progress:  874 on 8879  Progress:  875 on 8879  Progress:  876 on 8879  Progress:  877 on 8879  Progress:  878 on 8879  Progress:  879 on 8879  Progress:  880 on 8879  Progress:  881 on 8879  Progress:  882 on 8879  Progress:  883 on 8879  Progress:  884 on 8879  Progress:  885 on 8879  Progress:  886 on 8879  Progress:  887 on 8879  Progress:  888 on 8879  Progress:  889 on 8879  Progress:  890 on 8879  Progress:  891 on 8879  Progress:  892 on 8879  Progress:  893 on 8879  Progress:  894 on 8879  Progress:  895 on 8879  Progress:  896 on 8879  Progress:  897 on 8879  Progress:  898 on 8879  Progress:  899 on 8879  Progress:  900 on 8879  Progress:  901 on 8879  Progress:  902 on 8879  Progress:  903 on 8879  Progress:  904 on 8879  Progress:  905 on 8879  Progress:  906 on 8879  Progress:  907 on 8879  Progress:  908 on 8879  Progress:  909 on 8879  Progress:  910 on 8879  Progress:  911 on 8879  Progress:  912 on 8879  Progress:  913 on 8879  Progress:  914 on 8879  Progress:  915 on 8879  Progress:  916 on 8879  Progress:  917 on 8879  Progress:  918 on 8879  Progress:  919 on 8879  Progress:  920 on 8879  Progress:  921 on 8879  Progress:  922 on 8879  Progress:  923 on 8879  Progress:  924 on 8879  Progress:  925 on 8879  Progress:  926 on 8879  Progress:  927 on 8879  Progress:  928 on 8879  Progress:  929 on 8879  Progress:  930 on 8879  Progress:  931 on 8879  Progress:  932 on 8879  Progress:  933 on 8879  Progress:  934 on 8879  Progress:  935 on 8879  Progress:  936 on 8879  Progress:  937 on 8879  Progress:  938 on 8879  Progress:  939 on 8879  Progress:  940 on 8879  Progress:  941 on 8879  Progress:  942 on 8879  Progress:  943 on 8879  Progress:  944 on 8879  Progress:  945 on 8879  Progress:  946 on 8879  Progress:  947 on 8879  Progress:  948 on 8879  Progress:  949 on 8879  Progress:  950 on 8879  Progress:  951 on 8879  Progress:  952 on 8879  Progress:  953 on 8879  Progress:  954 on 8879  Progress:  955 on 8879  Progress:  956 on 8879  Progress:  957 on 8879  Progress:  958 on 8879  Progress:  959 on 8879  Progress:  960 on 8879  Progress:  961 on 8879  Progress:  962 on 8879  Progress:  963 on 8879  Progress:  964 on 8879  Progress:  965 on 8879  Progress:  966 on 8879  Progress:  967 on 8879  Progress:  968 on 8879  Progress:  969 on 8879  Progress:  970 on 8879  Progress:  971 on 8879  Progress:  972 on 8879  Progress:  973 on 8879  Progress:  974 on 8879  Progress:  975 on 8879  Progress:  976 on 8879  Progress:  977 on 8879  Progress:  978 on 8879  Progress:  979 on 8879  Progress:  980 on 8879  Progress:  981 on 8879  Progress:  982 on 8879  Progress:  983 on 8879  Progress:  984 on 8879  Progress:  985 on 8879  Progress:  986 on 8879  Progress:  987 on 8879  Progress:  988 on 8879  Progress:  989 on 8879  Progress:  990 on 8879  Progress:  991 on 8879  Progress:  992 on 8879  Progress:  993 on 8879  Progress:  994 on 8879  Progress:  995 on 8879  Progress:  996 on 8879  Progress:  997 on 8879  Progress:  998 on 8879  Progress:  999 on 8879  Progress: 1000 on 8879  Progress: 1001 on 8879  Progress: 1002 on 8879  Progress: 1003 on 8879  Progress: 1004 on 8879  Progress: 1005 on 8879  Progress: 1006 on 8879  Progress: 1007 on 8879  Progress: 1008 on 8879  Progress: 1009 on 8879  Progress: 1010 on 8879  Progress: 1011 on 8879  Progress: 1012 on 8879  Progress: 1013 on 8879  Progress: 1014 on 8879  Progress: 1015 on 8879  Progress: 1016 on 8879  Progress: 1017 on 8879  Progress: 1018 on 8879  Progress: 1019 on 8879  Progress: 1020 on 8879  Progress: 1021 on 8879  Progress: 1022 on 8879  Progress: 1023 on 8879  Progress: 1024 on 8879  Progress: 1025 on 8879  Progress: 1026 on 8879  Progress: 1027 on 8879  Progress: 1028 on 8879  Progress: 1029 on 8879  Progress: 1030 on 8879  Progress: 1031 on 8879  Progress: 1032 on 8879  Progress: 1033 on 8879  Progress: 1034 on 8879  Progress: 1035 on 8879  Progress: 1036 on 8879  Progress: 1037 on 8879  Progress: 1038 on 8879  Progress: 1039 on 8879  Progress: 1040 on 8879  Progress: 1041 on 8879  Progress: 1042 on 8879  Progress: 1043 on 8879  Progress: 1044 on 8879  Progress: 1045 on 8879  Progress: 1046 on 8879  Progress: 1047 on 8879  Progress: 1048 on 8879  Progress: 1049 on 8879  Progress: 1050 on 8879  Progress: 1051 on 8879  Progress: 1052 on 8879  Progress: 1053 on 8879  Progress: 1054 on 8879  Progress: 1055 on 8879  Progress: 1056 on 8879  Progress: 1057 on 8879  Progress: 1058 on 8879  Progress: 1059 on 8879  Progress: 1060 on 8879  Progress: 1061 on 8879  Progress: 1062 on 8879  Progress: 1063 on 8879  Progress: 1064 on 8879  Progress: 1065 on 8879  Progress: 1066 on 8879  Progress: 1067 on 8879  Progress: 1068 on 8879  Progress: 1069 on 8879  Progress: 1070 on 8879  Progress: 1071 on 8879  Progress: 1072 on 8879  Progress: 1073 on 8879  Progress: 1074 on 8879  Progress: 1075 on 8879  Progress: 1076 on 8879  Progress: 1077 on 8879  Progress: 1078 on 8879  Progress: 1079 on 8879  Progress: 1080 on 8879  Progress: 1081 on 8879  Progress: 1082 on 8879  Progress: 1083 on 8879  Progress: 1084 on 8879  Progress: 1085 on 8879  Progress: 1086 on 8879  Progress: 1087 on 8879  Progress: 1088 on 8879  Progress: 1089 on 8879  Progress: 1090 on 8879  Progress: 1091 on 8879  Progress: 1092 on 8879  Progress: 1093 on 8879  Progress: 1094 on 8879  Progress: 1095 on 8879  Progress: 1096 on 8879  Progress: 1097 on 8879  Progress: 1098 on 8879  Progress: 1099 on 8879  Progress: 1100 on 8879  Progress: 1101 on 8879  Progress: 1102 on 8879  Progress: 1103 on 8879  Progress: 1104 on 8879  Progress: 1105 on 8879  Progress: 1106 on 8879  Progress: 1107 on 8879  Progress: 1108 on 8879  Progress: 1109 on 8879  Progress: 1110 on 8879  Progress: 1111 on 8879  Progress: 1112 on 8879  Progress: 1113 on 8879  Progress: 1114 on 8879  Progress: 1115 on 8879  Progress: 1116 on 8879  Progress: 1117 on 8879  Progress: 1118 on 8879  Progress: 1119 on 8879  Progress: 1120 on 8879  Progress: 1121 on 8879  Progress: 1122 on 8879  Progress: 1123 on 8879  Progress: 1124 on 8879  Progress: 1125 on 8879  Progress: 1126 on 8879  Progress: 1127 on 8879  Progress: 1128 on 8879  Progress: 1129 on 8879  Progress: 1130 on 8879  Progress: 1131 on 8879  Progress: 1132 on 8879  Progress: 1133 on 8879  Progress: 1134 on 8879  Progress: 1135 on 8879  Progress: 1136 on 8879  Progress: 1137 on 8879  Progress: 1138 on 8879  Progress: 1139 on 8879  Progress: 1140 on 8879  Progress: 1141 on 8879  Progress: 1142 on 8879  Progress: 1143 on 8879  Progress: 1144 on 8879  Progress: 1145 on 8879  Progress: 1146 on 8879  Progress: 1147 on 8879  Progress: 1148 on 8879  Progress: 1149 on 8879  Progress: 1150 on 8879  Progress: 1151 on 8879  Progress: 1152 on 8879  Progress: 1153 on 8879  Progress: 1154 on 8879  Progress: 1155 on 8879  Progress: 1156 on 8879  Progress: 1157 on 8879  Progress: 1158 on 8879  Progress: 1159 on 8879  Progress: 1160 on 8879  Progress: 1161 on 8879  Progress: 1162 on 8879  Progress: 1163 on 8879  Progress: 1164 on 8879  Progress: 1165 on 8879  Progress: 1166 on 8879  Progress: 1167 on 8879  Progress: 1168 on 8879  Progress: 1169 on 8879  Progress: 1170 on 8879  Progress: 1171 on 8879  Progress: 1172 on 8879  Progress: 1173 on 8879  Progress: 1174 on 8879  Progress: 1175 on 8879  Progress: 1176 on 8879  Progress: 1177 on 8879  Progress: 1178 on 8879  Progress: 1179 on 8879  Progress: 1180 on 8879  Progress: 1181 on 8879  Progress: 1182 on 8879  Progress: 1183 on 8879  Progress: 1184 on 8879  Progress: 1185 on 8879  Progress: 1186 on 8879  Progress: 1187 on 8879  Progress: 1188 on 8879  Progress: 1189 on 8879  Progress: 1190 on 8879  Progress: 1191 on 8879  Progress: 1192 on 8879  Progress: 1193 on 8879  Progress: 1194 on 8879  Progress: 1195 on 8879  Progress: 1196 on 8879  Progress: 1197 on 8879  Progress: 1198 on 8879  Progress: 1199 on 8879  Progress: 1200 on 8879  Progress: 1201 on 8879  Progress: 1202 on 8879  Progress: 1203 on 8879  Progress: 1204 on 8879  Progress: 1205 on 8879  Progress: 1206 on 8879  Progress: 1207 on 8879  Progress: 1208 on 8879  Progress: 1209 on 8879  Progress: 1210 on 8879  Progress: 1211 on 8879  Progress: 1212 on 8879  Progress: 1213 on 8879  Progress: 1214 on 8879  Progress: 1215 on 8879  Progress: 1216 on 8879  Progress: 1217 on 8879  Progress: 1218 on 8879  Progress: 1219 on 8879  Progress: 1220 on 8879  Progress: 1221 on 8879  Progress: 1222 on 8879  Progress: 1223 on 8879  Progress: 1224 on 8879  Progress: 1225 on 8879  Progress: 1226 on 8879  Progress: 1227 on 8879  Progress: 1228 on 8879  Progress: 1229 on 8879  Progress: 1230 on 8879  Progress: 1231 on 8879  Progress: 1232 on 8879  Progress: 1233 on 8879  Progress: 1234 on 8879  Progress: 1235 on 8879  Progress: 1236 on 8879  Progress: 1237 on 8879  Progress: 1238 on 8879  Progress: 1239 on 8879  Progress: 1240 on 8879  Progress: 1241 on 8879  Progress: 1242 on 8879  Progress: 1243 on 8879  Progress: 1244 on 8879  Progress: 1245 on 8879  Progress: 1246 on 8879  Progress: 1247 on 8879  Progress: 1248 on 8879  Progress: 1249 on 8879  Progress: 1250 on 8879  Progress: 1251 on 8879  Progress: 1252 on 8879  Progress: 1253 on 8879  Progress: 1254 on 8879  Progress: 1255 on 8879  Progress: 1256 on 8879  Progress: 1257 on 8879  Progress: 1258 on 8879  Progress: 1259 on 8879  Progress: 1260 on 8879  Progress: 1261 on 8879  Progress: 1262 on 8879  Progress: 1263 on 8879  Progress: 1264 on 8879  Progress: 1265 on 8879  Progress: 1266 on 8879  Progress: 1267 on 8879  Progress: 1268 on 8879  Progress: 1269 on 8879  Progress: 1270 on 8879  Progress: 1271 on 8879  Progress: 1272 on 8879  Progress: 1273 on 8879  Progress: 1274 on 8879  Progress: 1275 on 8879  Progress: 1276 on 8879  Progress: 1277 on 8879  Progress: 1278 on 8879  Progress: 1279 on 8879  Progress: 1280 on 8879  Progress: 1281 on 8879  Progress: 1282 on 8879  Progress: 1283 on 8879  Progress: 1284 on 8879  Progress: 1285 on 8879  Progress: 1286 on 8879  Progress: 1287 on 8879  Progress: 1288 on 8879  Progress: 1289 on 8879  Progress: 1290 on 8879  Progress: 1291 on 8879  Progress: 1292 on 8879  Progress: 1293 on 8879  Progress: 1294 on 8879  Progress: 1295 on 8879  Progress: 1296 on 8879  Progress: 1297 on 8879  Progress: 1298 on 8879  Progress: 1299 on 8879  Progress: 1300 on 8879  Progress: 1301 on 8879  Progress: 1302 on 8879  Progress: 1303 on 8879  Progress: 1304 on 8879  Progress: 1305 on 8879  Progress: 1306 on 8879  Progress: 1307 on 8879  Progress: 1308 on 8879  Progress: 1309 on 8879  Progress: 1310 on 8879  Progress: 1311 on 8879  Progress: 1312 on 8879  Progress: 1313 on 8879  Progress: 1314 on 8879  Progress: 1315 on 8879  Progress: 1316 on 8879  Progress: 1317 on 8879  Progress: 1318 on 8879  Progress: 1319 on 8879  Progress: 1320 on 8879  Progress: 1321 on 8879  Progress: 1322 on 8879  Progress: 1323 on 8879  Progress: 1324 on 8879  Progress: 1325 on 8879  Progress: 1326 on 8879  Progress: 1327 on 8879  Progress: 1328 on 8879  Progress: 1329 on 8879  Progress: 1330 on 8879  Progress: 1331 on 8879  Progress: 1332 on 8879  Progress: 1333 on 8879  Progress: 1334 on 8879  Progress: 1335 on 8879  Progress: 1336 on 8879  Progress: 1337 on 8879  Progress: 1338 on 8879  Progress: 1339 on 8879  Progress: 1340 on 8879  Progress: 1341 on 8879  Progress: 1342 on 8879  Progress: 1343 on 8879  Progress: 1344 on 8879  Progress: 1345 on 8879  Progress: 1346 on 8879  Progress: 1347 on 8879  Progress: 1348 on 8879  Progress: 1349 on 8879  Progress: 1350 on 8879  Progress: 1351 on 8879  Progress: 1352 on 8879  Progress: 1353 on 8879  Progress: 1354 on 8879  Progress: 1355 on 8879  Progress: 1356 on 8879  Progress: 1357 on 8879  Progress: 1358 on 8879  Progress: 1359 on 8879  Progress: 1360 on 8879  Progress: 1361 on 8879  Progress: 1362 on 8879  Progress: 1363 on 8879  Progress: 1364 on 8879  Progress: 1365 on 8879  Progress: 1366 on 8879  Progress: 1367 on 8879  Progress: 1368 on 8879  Progress: 1369 on 8879  Progress: 1370 on 8879  Progress: 1371 on 8879  Progress: 1372 on 8879  Progress: 1373 on 8879  Progress: 1374 on 8879  Progress: 1375 on 8879  Progress: 1376 on 8879  Progress: 1377 on 8879  Progress: 1378 on 8879  Progress: 1379 on 8879  Progress: 1380 on 8879  Progress: 1381 on 8879  Progress: 1382 on 8879  Progress: 1383 on 8879  Progress: 1384 on 8879  Progress: 1385 on 8879  Progress: 1386 on 8879  Progress: 1387 on 8879  Progress: 1388 on 8879  Progress: 1389 on 8879  Progress: 1390 on 8879  Progress: 1391 on 8879  Progress: 1392 on 8879  Progress: 1393 on 8879  Progress: 1394 on 8879  Progress: 1395 on 8879  Progress: 1396 on 8879  Progress: 1397 on 8879  Progress: 1398 on 8879  Progress: 1399 on 8879  Progress: 1400 on 8879  Progress: 1401 on 8879  Progress: 1402 on 8879  Progress: 1403 on 8879  Progress: 1404 on 8879  Progress: 1405 on 8879  Progress: 1406 on 8879  Progress: 1407 on 8879  Progress: 1408 on 8879  Progress: 1409 on 8879  Progress: 1410 on 8879  Progress: 1411 on 8879  Progress: 1412 on 8879  Progress: 1413 on 8879  Progress: 1414 on 8879  Progress: 1415 on 8879  Progress: 1416 on 8879  Progress: 1417 on 8879  Progress: 1418 on 8879  Progress: 1419 on 8879  Progress: 1420 on 8879  Progress: 1421 on 8879  Progress: 1422 on 8879  Progress: 1423 on 8879  Progress: 1424 on 8879  Progress: 1425 on 8879  Progress: 1426 on 8879  Progress: 1427 on 8879  Progress: 1428 on 8879  Progress: 1429 on 8879  Progress: 1430 on 8879  Progress: 1431 on 8879  Progress: 1432 on 8879  Progress: 1433 on 8879  Progress: 1434 on 8879  Progress: 1435 on 8879  Progress: 1436 on 8879  Progress: 1437 on 8879  Progress: 1438 on 8879  Progress: 1439 on 8879  Progress: 1440 on 8879  Progress: 1441 on 8879  Progress: 1442 on 8879  Progress: 1443 on 8879  Progress: 1444 on 8879  Progress: 1445 on 8879  Progress: 1446 on 8879  Progress: 1447 on 8879  Progress: 1448 on 8879  Progress: 1449 on 8879  Progress: 1450 on 8879  Progress: 1451 on 8879  Progress: 1452 on 8879  Progress: 1453 on 8879  Progress: 1454 on 8879  Progress: 1455 on 8879  Progress: 1456 on 8879  Progress: 1457 on 8879  Progress: 1458 on 8879  Progress: 1459 on 8879  Progress: 1460 on 8879  Progress: 1461 on 8879  Progress: 1462 on 8879  Progress: 1463 on 8879  Progress: 1464 on 8879  Progress: 1465 on 8879  Progress: 1466 on 8879  Progress: 1467 on 8879  Progress: 1468 on 8879  Progress: 1469 on 8879  Progress: 1470 on 8879  Progress: 1471 on 8879  Progress: 1472 on 8879  Progress: 1473 on 8879  Progress: 1474 on 8879  Progress: 1475 on 8879  Progress: 1476 on 8879  Progress: 1477 on 8879  Progress: 1478 on 8879  Progress: 1479 on 8879  Progress: 1480 on 8879  Progress: 1481 on 8879  Progress: 1482 on 8879  Progress: 1483 on 8879  Progress: 1484 on 8879  Progress: 1485 on 8879  Progress: 1486 on 8879  Progress: 1487 on 8879  Progress: 1488 on 8879  Progress: 1489 on 8879  Progress: 1490 on 8879  Progress: 1491 on 8879  Progress: 1492 on 8879  Progress: 1493 on 8879  Progress: 1494 on 8879  Progress: 1495 on 8879  Progress: 1496 on 8879  Progress: 1497 on 8879  Progress: 1498 on 8879  Progress: 1499 on 8879  Progress: 1500 on 8879  Progress: 1501 on 8879  Progress: 1502 on 8879  Progress: 1503 on 8879  Progress: 1504 on 8879  Progress: 1505 on 8879  Progress: 1506 on 8879  Progress: 1507 on 8879  Progress: 1508 on 8879  Progress: 1509 on 8879  Progress: 1510 on 8879  Progress: 1511 on 8879  Progress: 1512 on 8879  Progress: 1513 on 8879  Progress: 1514 on 8879  Progress: 1515 on 8879  Progress: 1516 on 8879  Progress: 1517 on 8879  Progress: 1518 on 8879  Progress: 1519 on 8879  Progress: 1520 on 8879  Progress: 1521 on 8879  Progress: 1522 on 8879  Progress: 1523 on 8879  Progress: 1524 on 8879  Progress: 1525 on 8879  Progress: 1526 on 8879  Progress: 1527 on 8879  Progress: 1528 on 8879  Progress: 1529 on 8879  Progress: 1530 on 8879  Progress: 1531 on 8879  Progress: 1532 on 8879  Progress: 1533 on 8879  Progress: 1534 on 8879  Progress: 1535 on 8879  Progress: 1536 on 8879  Progress: 1537 on 8879  Progress: 1538 on 8879  Progress: 1539 on 8879  Progress: 1540 on 8879  Progress: 1541 on 8879  Progress: 1542 on 8879  Progress: 1543 on 8879  Progress: 1544 on 8879  Progress: 1545 on 8879  Progress: 1546 on 8879  Progress: 1547 on 8879  Progress: 1548 on 8879  Progress: 1549 on 8879  Progress: 1550 on 8879  Progress: 1551 on 8879  Progress: 1552 on 8879  Progress: 1553 on 8879  Progress: 1554 on 8879  Progress: 1555 on 8879  Progress: 1556 on 8879  Progress: 1557 on 8879  Progress: 1558 on 8879  Progress: 1559 on 8879  Progress: 1560 on 8879  Progress: 1561 on 8879  Progress: 1562 on 8879  Progress: 1563 on 8879  Progress: 1564 on 8879  Progress: 1565 on 8879  Progress: 1566 on 8879  Progress: 1567 on 8879  Progress: 1568 on 8879  Progress: 1569 on 8879  Progress: 1570 on 8879  Progress: 1571 on 8879  Progress: 1572 on 8879  Progress: 1573 on 8879  Progress: 1574 on 8879  Progress: 1575 on 8879  Progress: 1576 on 8879  Progress: 1577 on 8879  Progress: 1578 on 8879  Progress: 1579 on 8879  Progress: 1580 on 8879  Progress: 1581 on 8879  Progress: 1582 on 8879  Progress: 1583 on 8879  Progress: 1584 on 8879  Progress: 1585 on 8879  Progress: 1586 on 8879  Progress: 1587 on 8879  Progress: 1588 on 8879  Progress: 1589 on 8879  Progress: 1590 on 8879  Progress: 1591 on 8879  Progress: 1592 on 8879  Progress: 1593 on 8879  Progress: 1594 on 8879  Progress: 1595 on 8879  Progress: 1596 on 8879  Progress: 1597 on 8879  Progress: 1598 on 8879  Progress: 1599 on 8879  Progress: 1600 on 8879  Progress: 1601 on 8879  Progress: 1602 on 8879  Progress: 1603 on 8879  Progress: 1604 on 8879  Progress: 1605 on 8879  Progress: 1606 on 8879  Progress: 1607 on 8879  Progress: 1608 on 8879  Progress: 1609 on 8879  Progress: 1610 on 8879  Progress: 1611 on 8879  Progress: 1612 on 8879  Progress: 1613 on 8879  Progress: 1614 on 8879  Progress: 1615 on 8879  Progress: 1616 on 8879  Progress: 1617 on 8879  Progress: 1618 on 8879  Progress: 1619 on 8879  Progress: 1620 on 8879  Progress: 1621 on 8879  Progress: 1622 on 8879  Progress: 1623 on 8879  Progress: 1624 on 8879  Progress: 1625 on 8879  Progress: 1626 on 8879  Progress: 1627 on 8879  Progress: 1628 on 8879  Progress: 1629 on 8879  Progress: 1630 on 8879  Progress: 1631 on 8879  Progress: 1632 on 8879  Progress: 1633 on 8879  Progress: 1634 on 8879  Progress: 1635 on 8879  Progress: 1636 on 8879  Progress: 1637 on 8879  Progress: 1638 on 8879  Progress: 1639 on 8879  Progress: 1640 on 8879  Progress: 1641 on 8879  Progress: 1642 on 8879  Progress: 1643 on 8879  Progress: 1644 on 8879  Progress: 1645 on 8879  Progress: 1646 on 8879  Progress: 1647 on 8879  Progress: 1648 on 8879  Progress: 1649 on 8879  Progress: 1650 on 8879  Progress: 1651 on 8879  Progress: 1652 on 8879  Progress: 1653 on 8879  Progress: 1654 on 8879  Progress: 1655 on 8879  Progress: 1656 on 8879  Progress: 1657 on 8879  Progress: 1658 on 8879  Progress: 1659 on 8879  Progress: 1660 on 8879  Progress: 1661 on 8879  Progress: 1662 on 8879  Progress: 1663 on 8879  Progress: 1664 on 8879  Progress: 1665 on 8879  Progress: 1666 on 8879  Progress: 1667 on 8879  Progress: 1668 on 8879  Progress: 1669 on 8879  Progress: 1670 on 8879  Progress: 1671 on 8879  Progress: 1672 on 8879  Progress: 1673 on 8879  Progress: 1674 on 8879  Progress: 1675 on 8879  Progress: 1676 on 8879  Progress: 1677 on 8879  Progress: 1678 on 8879  Progress: 1679 on 8879  Progress: 1680 on 8879  Progress: 1681 on 8879  Progress: 1682 on 8879  Progress: 1683 on 8879  Progress: 1684 on 8879  Progress: 1685 on 8879  Progress: 1686 on 8879  Progress: 1687 on 8879  Progress: 1688 on 8879  Progress: 1689 on 8879  Progress: 1690 on 8879  Progress: 1691 on 8879  Progress: 1692 on 8879  Progress: 1693 on 8879  Progress: 1694 on 8879  Progress: 1695 on 8879  Progress: 1696 on 8879  Progress: 1697 on 8879  Progress: 1698 on 8879  Progress: 1699 on 8879  Progress: 1700 on 8879  Progress: 1701 on 8879  Progress: 1702 on 8879  Progress: 1703 on 8879  Progress: 1704 on 8879  Progress: 1705 on 8879  Progress: 1706 on 8879  Progress: 1707 on 8879  Progress: 1708 on 8879  Progress: 1709 on 8879  Progress: 1710 on 8879  Progress: 1711 on 8879  Progress: 1712 on 8879  Progress: 1713 on 8879  Progress: 1714 on 8879  Progress: 1715 on 8879  Progress: 1716 on 8879  Progress: 1717 on 8879  Progress: 1718 on 8879  Progress: 1719 on 8879  Progress: 1720 on 8879  Progress: 1721 on 8879  Progress: 1722 on 8879  Progress: 1723 on 8879  Progress: 1724 on 8879  Progress: 1725 on 8879  Progress: 1726 on 8879  Progress: 1727 on 8879  Progress: 1728 on 8879  Progress: 1729 on 8879  Progress: 1730 on 8879  Progress: 1731 on 8879  Progress: 1732 on 8879  Progress: 1733 on 8879  Progress: 1734 on 8879  Progress: 1735 on 8879  Progress: 1736 on 8879  Progress: 1737 on 8879  Progress: 1738 on 8879  Progress: 1739 on 8879  Progress: 1740 on 8879  Progress: 1741 on 8879  Progress: 1742 on 8879  Progress: 1743 on 8879  Progress: 1744 on 8879  Progress: 1745 on 8879  Progress: 1746 on 8879  Progress: 1747 on 8879  Progress: 1748 on 8879  Progress: 1749 on 8879  Progress: 1750 on 8879  Progress: 1751 on 8879  Progress: 1752 on 8879  Progress: 1753 on 8879  Progress: 1754 on 8879  Progress: 1755 on 8879  Progress: 1756 on 8879  Progress: 1757 on 8879  Progress: 1758 on 8879  Progress: 1759 on 8879  Progress: 1760 on 8879  Progress: 1761 on 8879  Progress: 1762 on 8879  Progress: 1763 on 8879  Progress: 1764 on 8879  Progress: 1765 on 8879  Progress: 1766 on 8879  Progress: 1767 on 8879  Progress: 1768 on 8879  Progress: 1769 on 8879  Progress: 1770 on 8879  Progress: 1771 on 8879  Progress: 1772 on 8879  Progress: 1773 on 8879  Progress: 1774 on 8879  Progress: 1775 on 8879  Progress: 1776 on 8879  Progress: 1777 on 8879  Progress: 1778 on 8879  Progress: 1779 on 8879  Progress: 1780 on 8879  Progress: 1781 on 8879  Progress: 1782 on 8879  Progress: 1783 on 8879  Progress: 1784 on 8879  Progress: 1785 on 8879  Progress: 1786 on 8879  Progress: 1787 on 8879  Progress: 1788 on 8879  Progress: 1789 on 8879  Progress: 1790 on 8879  Progress: 1791 on 8879  Progress: 1792 on 8879  Progress: 1793 on 8879  Progress: 1794 on 8879  Progress: 1795 on 8879  Progress: 1796 on 8879  Progress: 1797 on 8879  Progress: 1798 on 8879  Progress: 1799 on 8879  Progress: 1800 on 8879  Progress: 1801 on 8879  Progress: 1802 on 8879  Progress: 1803 on 8879  Progress: 1804 on 8879  Progress: 1805 on 8879  Progress: 1806 on 8879  Progress: 1807 on 8879  Progress: 1808 on 8879  Progress: 1809 on 8879  Progress: 1810 on 8879  Progress: 1811 on 8879  Progress: 1812 on 8879  Progress: 1813 on 8879  Progress: 1814 on 8879  Progress: 1815 on 8879  Progress: 1816 on 8879  Progress: 1817 on 8879  Progress: 1818 on 8879  Progress: 1819 on 8879  Progress: 1820 on 8879  Progress: 1821 on 8879  Progress: 1822 on 8879  Progress: 1823 on 8879  Progress: 1824 on 8879  Progress: 1825 on 8879  Progress: 1826 on 8879  Progress: 1827 on 8879  Progress: 1828 on 8879  Progress: 1829 on 8879  Progress: 1830 on 8879  Progress: 1831 on 8879  Progress: 1832 on 8879  Progress: 1833 on 8879  Progress: 1834 on 8879  Progress: 1835 on 8879  Progress: 1836 on 8879  Progress: 1837 on 8879  Progress: 1838 on 8879  Progress: 1839 on 8879  Progress: 1840 on 8879  Progress: 1841 on 8879  Progress: 1842 on 8879  Progress: 1843 on 8879  Progress: 1844 on 8879  Progress: 1845 on 8879  Progress: 1846 on 8879  Progress: 1847 on 8879  Progress: 1848 on 8879  Progress: 1849 on 8879  Progress: 1850 on 8879  Progress: 1851 on 8879  Progress: 1852 on 8879  Progress: 1853 on 8879  Progress: 1854 on 8879  Progress: 1855 on 8879  Progress: 1856 on 8879  Progress: 1857 on 8879  Progress: 1858 on 8879  Progress: 1859 on 8879  Progress: 1860 on 8879  Progress: 1861 on 8879  Progress: 1862 on 8879  Progress: 1863 on 8879  Progress: 1864 on 8879  Progress: 1865 on 8879  Progress: 1866 on 8879  Progress: 1867 on 8879  Progress: 1868 on 8879  Progress: 1869 on 8879  Progress: 1870 on 8879  Progress: 1871 on 8879  Progress: 1872 on 8879  Progress: 1873 on 8879  Progress: 1874 on 8879  Progress: 1875 on 8879  Progress: 1876 on 8879  Progress: 1877 on 8879  Progress: 1878 on 8879  Progress: 1879 on 8879  Progress: 1880 on 8879  Progress: 1881 on 8879  Progress: 1882 on 8879  Progress: 1883 on 8879  Progress: 1884 on 8879  Progress: 1885 on 8879  Progress: 1886 on 8879  Progress: 1887 on 8879  Progress: 1888 on 8879  Progress: 1889 on 8879  Progress: 1890 on 8879  Progress: 1891 on 8879  Progress: 1892 on 8879  Progress: 1893 on 8879  Progress: 1894 on 8879  Progress: 1895 on 8879  Progress: 1896 on 8879  Progress: 1897 on 8879  Progress: 1898 on 8879  Progress: 1899 on 8879  Progress: 1900 on 8879  Progress: 1901 on 8879  Progress: 1902 on 8879  Progress: 1903 on 8879  Progress: 1904 on 8879  Progress: 1905 on 8879  Progress: 1906 on 8879  Progress: 1907 on 8879  Progress: 1908 on 8879  Progress: 1909 on 8879  Progress: 1910 on 8879  Progress: 1911 on 8879  Progress: 1912 on 8879  Progress: 1913 on 8879  Progress: 1914 on 8879  Progress: 1915 on 8879  Progress: 1916 on 8879  Progress: 1917 on 8879  Progress: 1918 on 8879  Progress: 1919 on 8879  Progress: 1920 on 8879  Progress: 1921 on 8879  Progress: 1922 on 8879  Progress: 1923 on 8879  Progress: 1924 on 8879  Progress: 1925 on 8879  Progress: 1926 on 8879  Progress: 1927 on 8879  Progress: 1928 on 8879  Progress: 1929 on 8879  Progress: 1930 on 8879  Progress: 1931 on 8879  Progress: 1932 on 8879  Progress: 1933 on 8879  Progress: 1934 on 8879  Progress: 1935 on 8879  Progress: 1936 on 8879  Progress: 1937 on 8879  Progress: 1938 on 8879  Progress: 1939 on 8879  Progress: 1940 on 8879  Progress: 1941 on 8879  Progress: 1942 on 8879  Progress: 1943 on 8879  Progress: 1944 on 8879  Progress: 1945 on 8879  Progress: 1946 on 8879  Progress: 1947 on 8879  Progress: 1948 on 8879  Progress: 1949 on 8879  Progress: 1950 on 8879  Progress: 1951 on 8879  Progress: 1952 on 8879  Progress: 1953 on 8879  Progress: 1954 on 8879  Progress: 1955 on 8879  Progress: 1956 on 8879  Progress: 1957 on 8879  Progress: 1958 on 8879  Progress: 1959 on 8879  Progress: 1960 on 8879  Progress: 1961 on 8879  Progress: 1962 on 8879  Progress: 1963 on 8879  Progress: 1964 on 8879  Progress: 1965 on 8879  Progress: 1966 on 8879  Progress: 1967 on 8879  Progress: 1968 on 8879  Progress: 1969 on 8879  Progress: 1970 on 8879  Progress: 1971 on 8879  Progress: 1972 on 8879  Progress: 1973 on 8879  Progress: 1974 on 8879  Progress: 1975 on 8879  Progress: 1976 on 8879  Progress: 1977 on 8879  Progress: 1978 on 8879  Progress: 1979 on 8879  Progress: 1980 on 8879  Progress: 1981 on 8879  Progress: 1982 on 8879  Progress: 1983 on 8879  Progress: 1984 on 8879  Progress: 1985 on 8879  Progress: 1986 on 8879  Progress: 1987 on 8879  Progress: 1988 on 8879  Progress: 1989 on 8879  Progress: 1990 on 8879  Progress: 1991 on 8879  Progress: 1992 on 8879  Progress: 1993 on 8879  Progress: 1994 on 8879  Progress: 1995 on 8879  Progress: 1996 on 8879  Progress: 1997 on 8879  Progress: 1998 on 8879  Progress: 1999 on 8879  Progress: 2000 on 8879  Progress: 2001 on 8879  Progress: 2002 on 8879  Progress: 2003 on 8879  Progress: 2004 on 8879  Progress: 2005 on 8879  Progress: 2006 on 8879  Progress: 2007 on 8879  Progress: 2008 on 8879  Progress: 2009 on 8879  Progress: 2010 on 8879  Progress: 2011 on 8879  Progress: 2012 on 8879  Progress: 2013 on 8879  Progress: 2014 on 8879  Progress: 2015 on 8879  Progress: 2016 on 8879  Progress: 2017 on 8879  Progress: 2018 on 8879  Progress: 2019 on 8879  Progress: 2020 on 8879  Progress: 2021 on 8879  Progress: 2022 on 8879  Progress: 2023 on 8879  Progress: 2024 on 8879  Progress: 2025 on 8879  Progress: 2026 on 8879  Progress: 2027 on 8879  Progress: 2028 on 8879  Progress: 2029 on 8879  Progress: 2030 on 8879  Progress: 2031 on 8879  Progress: 2032 on 8879  Progress: 2033 on 8879  Progress: 2034 on 8879  Progress: 2035 on 8879  Progress: 2036 on 8879  Progress: 2037 on 8879  Progress: 2038 on 8879  Progress: 2039 on 8879  Progress: 2040 on 8879  Progress: 2041 on 8879  Progress: 2042 on 8879  Progress: 2043 on 8879  Progress: 2044 on 8879  Progress: 2045 on 8879  Progress: 2046 on 8879  Progress: 2047 on 8879  Progress: 2048 on 8879  Progress: 2049 on 8879  Progress: 2050 on 8879  Progress: 2051 on 8879  Progress: 2052 on 8879  Progress: 2053 on 8879  Progress: 2054 on 8879  Progress: 2055 on 8879  Progress: 2056 on 8879  Progress: 2057 on 8879  Progress: 2058 on 8879  Progress: 2059 on 8879  Progress: 2060 on 8879  Progress: 2061 on 8879  Progress: 2062 on 8879  Progress: 2063 on 8879  Progress: 2064 on 8879  Progress: 2065 on 8879  Progress: 2066 on 8879  Progress: 2067 on 8879  Progress: 2068 on 8879  Progress: 2069 on 8879  Progress: 2070 on 8879  Progress: 2071 on 8879  Progress: 2072 on 8879  Progress: 2073 on 8879  Progress: 2074 on 8879  Progress: 2075 on 8879  Progress: 2076 on 8879  Progress: 2077 on 8879  Progress: 2078 on 8879  Progress: 2079 on 8879  Progress: 2080 on 8879  Progress: 2081 on 8879  Progress: 2082 on 8879  Progress: 2083 on 8879  Progress: 2084 on 8879  Progress: 2085 on 8879  Progress: 2086 on 8879  Progress: 2087 on 8879  Progress: 2088 on 8879  Progress: 2089 on 8879  Progress: 2090 on 8879  Progress: 2091 on 8879  Progress: 2092 on 8879  Progress: 2093 on 8879  Progress: 2094 on 8879  Progress: 2095 on 8879  Progress: 2096 on 8879  Progress: 2097 on 8879  Progress: 2098 on 8879  Progress: 2099 on 8879  Progress: 2100 on 8879  Progress: 2101 on 8879  Progress: 2102 on 8879  Progress: 2103 on 8879  Progress: 2104 on 8879  Progress: 2105 on 8879  Progress: 2106 on 8879  Progress: 2107 on 8879  Progress: 2108 on 8879  Progress: 2109 on 8879  Progress: 2110 on 8879  Progress: 2111 on 8879  Progress: 2112 on 8879  Progress: 2113 on 8879  Progress: 2114 on 8879  Progress: 2115 on 8879  Progress: 2116 on 8879  Progress: 2117 on 8879  Progress: 2118 on 8879  Progress: 2119 on 8879  Progress: 2120 on 8879  Progress: 2121 on 8879  Progress: 2122 on 8879  Progress: 2123 on 8879  Progress: 2124 on 8879  Progress: 2125 on 8879  Progress: 2126 on 8879  Progress: 2127 on 8879  Progress: 2128 on 8879  Progress: 2129 on 8879  Progress: 2130 on 8879  Progress: 2131 on 8879  Progress: 2132 on 8879  Progress: 2133 on 8879  Progress: 2134 on 8879  Progress: 2135 on 8879  Progress: 2136 on 8879  Progress: 2137 on 8879  Progress: 2138 on 8879  Progress: 2139 on 8879  Progress: 2140 on 8879  Progress: 2141 on 8879  Progress: 2142 on 8879  Progress: 2143 on 8879  Progress: 2144 on 8879  Progress: 2145 on 8879  Progress: 2146 on 8879  Progress: 2147 on 8879  Progress: 2148 on 8879  Progress: 2149 on 8879  Progress: 2150 on 8879  Progress: 2151 on 8879  Progress: 2152 on 8879  Progress: 2153 on 8879  Progress: 2154 on 8879  Progress: 2155 on 8879  Progress: 2156 on 8879  Progress: 2157 on 8879  Progress: 2158 on 8879  Progress: 2159 on 8879  Progress: 2160 on 8879  Progress: 2161 on 8879  Progress: 2162 on 8879  Progress: 2163 on 8879  Progress: 2164 on 8879  Progress: 2165 on 8879  Progress: 2166 on 8879  Progress: 2167 on 8879  Progress: 2168 on 8879  Progress: 2169 on 8879  Progress: 2170 on 8879  Progress: 2171 on 8879  Progress: 2172 on 8879  Progress: 2173 on 8879  Progress: 2174 on 8879  Progress: 2175 on 8879  Progress: 2176 on 8879  Progress: 2177 on 8879  Progress: 2178 on 8879  Progress: 2179 on 8879  Progress: 2180 on 8879  Progress: 2181 on 8879  Progress: 2182 on 8879  Progress: 2183 on 8879  Progress: 2184 on 8879  Progress: 2185 on 8879  Progress: 2186 on 8879  Progress: 2187 on 8879  Progress: 2188 on 8879  Progress: 2189 on 8879  Progress: 2190 on 8879  Progress: 2191 on 8879  Progress: 2192 on 8879  Progress: 2193 on 8879  Progress: 2194 on 8879  Progress: 2195 on 8879  Progress: 2196 on 8879  Progress: 2197 on 8879  Progress: 2198 on 8879  Progress: 2199 on 8879  Progress: 2200 on 8879  Progress: 2201 on 8879  Progress: 2202 on 8879  Progress: 2203 on 8879  Progress: 2204 on 8879  Progress: 2205 on 8879  Progress: 2206 on 8879  Progress: 2207 on 8879  Progress: 2208 on 8879  Progress: 2209 on 8879  Progress: 2210 on 8879  Progress: 2211 on 8879  Progress: 2212 on 8879  Progress: 2213 on 8879  Progress: 2214 on 8879  Progress: 2215 on 8879  Progress: 2216 on 8879  Progress: 2217 on 8879  Progress: 2218 on 8879  Progress: 2219 on 8879  Progress: 2220 on 8879  Progress: 2221 on 8879  Progress: 2222 on 8879  Progress: 2223 on 8879  Progress: 2224 on 8879  Progress: 2225 on 8879  Progress: 2226 on 8879  Progress: 2227 on 8879  Progress: 2228 on 8879  Progress: 2229 on 8879  Progress: 2230 on 8879  Progress: 2231 on 8879  Progress: 2232 on 8879  Progress: 2233 on 8879  Progress: 2234 on 8879  Progress: 2235 on 8879  Progress: 2236 on 8879  Progress: 2237 on 8879  Progress: 2238 on 8879  Progress: 2239 on 8879  Progress: 2240 on 8879  Progress: 2241 on 8879  Progress: 2242 on 8879  Progress: 2243 on 8879  Progress: 2244 on 8879  Progress: 2245 on 8879  Progress: 2246 on 8879  Progress: 2247 on 8879  Progress: 2248 on 8879  Progress: 2249 on 8879  Progress: 2250 on 8879  Progress: 2251 on 8879  Progress: 2252 on 8879  Progress: 2253 on 8879  Progress: 2254 on 8879  Progress: 2255 on 8879  Progress: 2256 on 8879  Progress: 2257 on 8879  Progress: 2258 on 8879  Progress: 2259 on 8879  Progress: 2260 on 8879  Progress: 2261 on 8879  Progress: 2262 on 8879  Progress: 2263 on 8879  Progress: 2264 on 8879  Progress: 2265 on 8879  Progress: 2266 on 8879  Progress: 2267 on 8879  Progress: 2268 on 8879  Progress: 2269 on 8879  Progress: 2270 on 8879  Progress: 2271 on 8879  Progress: 2272 on 8879  Progress: 2273 on 8879  Progress: 2274 on 8879  Progress: 2275 on 8879  Progress: 2276 on 8879  Progress: 2277 on 8879  Progress: 2278 on 8879  Progress: 2279 on 8879  Progress: 2280 on 8879  Progress: 2281 on 8879  Progress: 2282 on 8879  Progress: 2283 on 8879  Progress: 2284 on 8879  Progress: 2285 on 8879  Progress: 2286 on 8879  Progress: 2287 on 8879  Progress: 2288 on 8879  Progress: 2289 on 8879  Progress: 2290 on 8879  Progress: 2291 on 8879  Progress: 2292 on 8879  Progress: 2293 on 8879  Progress: 2294 on 8879  Progress: 2295 on 8879  Progress: 2296 on 8879  Progress: 2297 on 8879  Progress: 2298 on 8879  Progress: 2299 on 8879  Progress: 2300 on 8879  Progress: 2301 on 8879  Progress: 2302 on 8879  Progress: 2303 on 8879  Progress: 2304 on 8879  Progress: 2305 on 8879  Progress: 2306 on 8879  Progress: 2307 on 8879  Progress: 2308 on 8879  Progress: 2309 on 8879  Progress: 2310 on 8879  Progress: 2311 on 8879  Progress: 2312 on 8879  Progress: 2313 on 8879  Progress: 2314 on 8879  Progress: 2315 on 8879  Progress: 2316 on 8879  Progress: 2317 on 8879  Progress: 2318 on 8879  Progress: 2319 on 8879  Progress: 2320 on 8879  Progress: 2321 on 8879  Progress: 2322 on 8879  Progress: 2323 on 8879  Progress: 2324 on 8879  Progress: 2325 on 8879  Progress: 2326 on 8879  Progress: 2327 on 8879  Progress: 2328 on 8879  Progress: 2329 on 8879  Progress: 2330 on 8879  Progress: 2331 on 8879  Progress: 2332 on 8879  Progress: 2333 on 8879  Progress: 2334 on 8879  Progress: 2335 on 8879  Progress: 2336 on 8879  Progress: 2337 on 8879  Progress: 2338 on 8879  Progress: 2339 on 8879  Progress: 2340 on 8879  Progress: 2341 on 8879  Progress: 2342 on 8879  Progress: 2343 on 8879  Progress: 2344 on 8879  Progress: 2345 on 8879  Progress: 2346 on 8879  Progress: 2347 on 8879  Progress: 2348 on 8879  Progress: 2349 on 8879  Progress: 2350 on 8879  Progress: 2351 on 8879  Progress: 2352 on 8879  Progress: 2353 on 8879  Progress: 2354 on 8879  Progress: 2355 on 8879  Progress: 2356 on 8879  Progress: 2357 on 8879  Progress: 2358 on 8879  Progress: 2359 on 8879  Progress: 2360 on 8879  Progress: 2361 on 8879  Progress: 2362 on 8879  Progress: 2363 on 8879  Progress: 2364 on 8879  Progress: 2365 on 8879  Progress: 2366 on 8879  Progress: 2367 on 8879  Progress: 2368 on 8879  Progress: 2369 on 8879  Progress: 2370 on 8879  Progress: 2371 on 8879  Progress: 2372 on 8879  Progress: 2373 on 8879  Progress: 2374 on 8879  Progress: 2375 on 8879  Progress: 2376 on 8879  Progress: 2377 on 8879  Progress: 2378 on 8879  Progress: 2379 on 8879  Progress: 2380 on 8879  Progress: 2381 on 8879  Progress: 2382 on 8879  Progress: 2383 on 8879  Progress: 2384 on 8879  Progress: 2385 on 8879  Progress: 2386 on 8879  Progress: 2387 on 8879  Progress: 2388 on 8879  Progress: 2389 on 8879  Progress: 2390 on 8879  Progress: 2391 on 8879  Progress: 2392 on 8879  Progress: 2393 on 8879  Progress: 2394 on 8879  Progress: 2395 on 8879  Progress: 2396 on 8879  Progress: 2397 on 8879  Progress: 2398 on 8879  Progress: 2399 on 8879  Progress: 2400 on 8879  Progress: 2401 on 8879  Progress: 2402 on 8879  Progress: 2403 on 8879  Progress: 2404 on 8879  Progress: 2405 on 8879  Progress: 2406 on 8879  Progress: 2407 on 8879  Progress: 2408 on 8879  Progress: 2409 on 8879  Progress: 2410 on 8879  Progress: 2411 on 8879  Progress: 2412 on 8879  Progress: 2413 on 8879  Progress: 2414 on 8879  Progress: 2415 on 8879  Progress: 2416 on 8879  Progress: 2417 on 8879  Progress: 2418 on 8879  Progress: 2419 on 8879  Progress: 2420 on 8879  Progress: 2421 on 8879  Progress: 2422 on 8879  Progress: 2423 on 8879  Progress: 2424 on 8879  Progress: 2425 on 8879  Progress: 2426 on 8879  Progress: 2427 on 8879  Progress: 2428 on 8879  Progress: 2429 on 8879  Progress: 2430 on 8879  Progress: 2431 on 8879  Progress: 2432 on 8879  Progress: 2433 on 8879  Progress: 2434 on 8879  Progress: 2435 on 8879  Progress: 2436 on 8879  Progress: 2437 on 8879  Progress: 2438 on 8879  Progress: 2439 on 8879  Progress: 2440 on 8879  Progress: 2441 on 8879  Progress: 2442 on 8879  Progress: 2443 on 8879  Progress: 2444 on 8879  Progress: 2445 on 8879  Progress: 2446 on 8879  Progress: 2447 on 8879  Progress: 2448 on 8879  Progress: 2449 on 8879  Progress: 2450 on 8879  Progress: 2451 on 8879  Progress: 2452 on 8879  Progress: 2453 on 8879  Progress: 2454 on 8879  Progress: 2455 on 8879  Progress: 2456 on 8879  Progress: 2457 on 8879  Progress: 2458 on 8879  Progress: 2459 on 8879  Progress: 2460 on 8879  Progress: 2461 on 8879  Progress: 2462 on 8879  Progress: 2463 on 8879  Progress: 2464 on 8879  Progress: 2465 on 8879  Progress: 2466 on 8879  Progress: 2467 on 8879  Progress: 2468 on 8879  Progress: 2469 on 8879  Progress: 2470 on 8879  Progress: 2471 on 8879  Progress: 2472 on 8879  Progress: 2473 on 8879  Progress: 2474 on 8879  Progress: 2475 on 8879  Progress: 2476 on 8879  Progress: 2477 on 8879  Progress: 2478 on 8879  Progress: 2479 on 8879  Progress: 2480 on 8879  Progress: 2481 on 8879  Progress: 2482 on 8879  Progress: 2483 on 8879  Progress: 2484 on 8879  Progress: 2485 on 8879  Progress: 2486 on 8879  Progress: 2487 on 8879  Progress: 2488 on 8879  Progress: 2489 on 8879  Progress: 2490 on 8879  Progress: 2491 on 8879  Progress: 2492 on 8879  Progress: 2493 on 8879  Progress: 2494 on 8879  Progress: 2495 on 8879  Progress: 2496 on 8879  Progress: 2497 on 8879  Progress: 2498 on 8879  Progress: 2499 on 8879  Progress: 2500 on 8879  Progress: 2501 on 8879  Progress: 2502 on 8879  Progress: 2503 on 8879  Progress: 2504 on 8879  Progress: 2505 on 8879  Progress: 2506 on 8879  Progress: 2507 on 8879  Progress: 2508 on 8879  Progress: 2509 on 8879  Progress: 2510 on 8879  Progress: 2511 on 8879  Progress: 2512 on 8879  Progress: 2513 on 8879  Progress: 2514 on 8879  Progress: 2515 on 8879  Progress: 2516 on 8879  Progress: 2517 on 8879  Progress: 2518 on 8879  Progress: 2519 on 8879  Progress: 2520 on 8879  Progress: 2521 on 8879  Progress: 2522 on 8879  Progress: 2523 on 8879  Progress: 2524 on 8879  Progress: 2525 on 8879  Progress: 2526 on 8879  Progress: 2527 on 8879  Progress: 2528 on 8879  Progress: 2529 on 8879  Progress: 2530 on 8879  Progress: 2531 on 8879  Progress: 2532 on 8879  Progress: 2533 on 8879  Progress: 2534 on 8879  Progress: 2535 on 8879  Progress: 2536 on 8879  Progress: 2537 on 8879  Progress: 2538 on 8879  Progress: 2539 on 8879  Progress: 2540 on 8879  Progress: 2541 on 8879  Progress: 2542 on 8879  Progress: 2543 on 8879  Progress: 2544 on 8879  Progress: 2545 on 8879  Progress: 2546 on 8879  Progress: 2547 on 8879  Progress: 2548 on 8879  Progress: 2549 on 8879  Progress: 2550 on 8879  Progress: 2551 on 8879  Progress: 2552 on 8879  Progress: 2553 on 8879  Progress: 2554 on 8879  Progress: 2555 on 8879  Progress: 2556 on 8879  Progress: 2557 on 8879  Progress: 2558 on 8879  Progress: 2559 on 8879  Progress: 2560 on 8879  Progress: 2561 on 8879  Progress: 2562 on 8879  Progress: 2563 on 8879  Progress: 2564 on 8879  Progress: 2565 on 8879  Progress: 2566 on 8879  Progress: 2567 on 8879  Progress: 2568 on 8879  Progress: 2569 on 8879  Progress: 2570 on 8879  Progress: 2571 on 8879  Progress: 2572 on 8879  Progress: 2573 on 8879  Progress: 2574 on 8879  Progress: 2575 on 8879  Progress: 2576 on 8879  Progress: 2577 on 8879  Progress: 2578 on 8879  Progress: 2579 on 8879  Progress: 2580 on 8879  Progress: 2581 on 8879  Progress: 2582 on 8879  Progress: 2583 on 8879  Progress: 2584 on 8879  Progress: 2585 on 8879  Progress: 2586 on 8879  Progress: 2587 on 8879  Progress: 2588 on 8879  Progress: 2589 on 8879  Progress: 2590 on 8879  Progress: 2591 on 8879  Progress: 2592 on 8879  Progress: 2593 on 8879  Progress: 2594 on 8879  Progress: 2595 on 8879  Progress: 2596 on 8879  Progress: 2597 on 8879  Progress: 2598 on 8879  Progress: 2599 on 8879  Progress: 2600 on 8879  Progress: 2601 on 8879  Progress: 2602 on 8879  Progress: 2603 on 8879  Progress: 2604 on 8879  Progress: 2605 on 8879  Progress: 2606 on 8879  Progress: 2607 on 8879  Progress: 2608 on 8879  Progress: 2609 on 8879  Progress: 2610 on 8879  Progress: 2611 on 8879  Progress: 2612 on 8879  Progress: 2613 on 8879  Progress: 2614 on 8879  Progress: 2615 on 8879  Progress: 2616 on 8879  Progress: 2617 on 8879  Progress: 2618 on 8879  Progress: 2619 on 8879  Progress: 2620 on 8879  Progress: 2621 on 8879  Progress: 2622 on 8879  Progress: 2623 on 8879  Progress: 2624 on 8879  Progress: 2625 on 8879  Progress: 2626 on 8879  Progress: 2627 on 8879  Progress: 2628 on 8879  Progress: 2629 on 8879  Progress: 2630 on 8879  Progress: 2631 on 8879  Progress: 2632 on 8879  Progress: 2633 on 8879  Progress: 2634 on 8879  Progress: 2635 on 8879  Progress: 2636 on 8879  Progress: 2637 on 8879  Progress: 2638 on 8879  Progress: 2639 on 8879  Progress: 2640 on 8879  Progress: 2641 on 8879  Progress: 2642 on 8879  Progress: 2643 on 8879  Progress: 2644 on 8879  Progress: 2645 on 8879  Progress: 2646 on 8879  Progress: 2647 on 8879  Progress: 2648 on 8879  Progress: 2649 on 8879  Progress: 2650 on 8879  Progress: 2651 on 8879  Progress: 2652 on 8879  Progress: 2653 on 8879  Progress: 2654 on 8879  Progress: 2655 on 8879  Progress: 2656 on 8879  Progress: 2657 on 8879  Progress: 2658 on 8879  Progress: 2659 on 8879  Progress: 2660 on 8879  Progress: 2661 on 8879  Progress: 2662 on 8879  Progress: 2663 on 8879  Progress: 2664 on 8879  Progress: 2665 on 8879  Progress: 2666 on 8879  Progress: 2667 on 8879  Progress: 2668 on 8879  Progress: 2669 on 8879  Progress: 2670 on 8879  Progress: 2671 on 8879  Progress: 2672 on 8879  Progress: 2673 on 8879  Progress: 2674 on 8879  Progress: 2675 on 8879  Progress: 2676 on 8879  Progress: 2677 on 8879  Progress: 2678 on 8879  Progress: 2679 on 8879  Progress: 2680 on 8879  Progress: 2681 on 8879  Progress: 2682 on 8879  Progress: 2683 on 8879  Progress: 2684 on 8879  Progress: 2685 on 8879  Progress: 2686 on 8879  Progress: 2687 on 8879  Progress: 2688 on 8879  Progress: 2689 on 8879  Progress: 2690 on 8879  Progress: 2691 on 8879  Progress: 2692 on 8879  Progress: 2693 on 8879  Progress: 2694 on 8879  Progress: 2695 on 8879  Progress: 2696 on 8879  Progress: 2697 on 8879  Progress: 2698 on 8879  Progress: 2699 on 8879  Progress: 2700 on 8879  Progress: 2701 on 8879  Progress: 2702 on 8879  Progress: 2703 on 8879  Progress: 2704 on 8879  Progress: 2705 on 8879  Progress: 2706 on 8879  Progress: 2707 on 8879  Progress: 2708 on 8879  Progress: 2709 on 8879  Progress: 2710 on 8879  Progress: 2711 on 8879  Progress: 2712 on 8879  Progress: 2713 on 8879  Progress: 2714 on 8879  Progress: 2715 on 8879  Progress: 2716 on 8879  Progress: 2717 on 8879  Progress: 2718 on 8879  Progress: 2719 on 8879  Progress: 2720 on 8879  Progress: 2721 on 8879  Progress: 2722 on 8879  Progress: 2723 on 8879  Progress: 2724 on 8879  Progress: 2725 on 8879  Progress: 2726 on 8879  Progress: 2727 on 8879  Progress: 2728 on 8879  Progress: 2729 on 8879  Progress: 2730 on 8879  Progress: 2731 on 8879  Progress: 2732 on 8879  Progress: 2733 on 8879  Progress: 2734 on 8879  Progress: 2735 on 8879  Progress: 2736 on 8879  Progress: 2737 on 8879  Progress: 2738 on 8879  Progress: 2739 on 8879  Progress: 2740 on 8879  Progress: 2741 on 8879  Progress: 2742 on 8879  Progress: 2743 on 8879  Progress: 2744 on 8879  Progress: 2745 on 8879  Progress: 2746 on 8879  Progress: 2747 on 8879  Progress: 2748 on 8879  Progress: 2749 on 8879  Progress: 2750 on 8879  Progress: 2751 on 8879  Progress: 2752 on 8879  Progress: 2753 on 8879  Progress: 2754 on 8879  Progress: 2755 on 8879  Progress: 2756 on 8879  Progress: 2757 on 8879  Progress: 2758 on 8879  Progress: 2759 on 8879  Progress: 2760 on 8879  Progress: 2761 on 8879  Progress: 2762 on 8879  Progress: 2763 on 8879  Progress: 2764 on 8879  Progress: 2765 on 8879  Progress: 2766 on 8879  Progress: 2767 on 8879  Progress: 2768 on 8879  Progress: 2769 on 8879  Progress: 2770 on 8879  Progress: 2771 on 8879  Progress: 2772 on 8879  Progress: 2773 on 8879  Progress: 2774 on 8879  Progress: 2775 on 8879  Progress: 2776 on 8879  Progress: 2777 on 8879  Progress: 2778 on 8879  Progress: 2779 on 8879  Progress: 2780 on 8879  Progress: 2781 on 8879  Progress: 2782 on 8879  Progress: 2783 on 8879  Progress: 2784 on 8879  Progress: 2785 on 8879  Progress: 2786 on 8879  Progress: 2787 on 8879  Progress: 2788 on 8879  Progress: 2789 on 8879  Progress: 2790 on 8879  Progress: 2791 on 8879  Progress: 2792 on 8879  Progress: 2793 on 8879  Progress: 2794 on 8879  Progress: 2795 on 8879  Progress: 2796 on 8879  Progress: 2797 on 8879  Progress: 2798 on 8879  Progress: 2799 on 8879  Progress: 2800 on 8879  Progress: 2801 on 8879  Progress: 2802 on 8879  Progress: 2803 on 8879  Progress: 2804 on 8879  Progress: 2805 on 8879  Progress: 2806 on 8879  Progress: 2807 on 8879  Progress: 2808 on 8879  Progress: 2809 on 8879  Progress: 2810 on 8879  Progress: 2811 on 8879  Progress: 2812 on 8879  Progress: 2813 on 8879  Progress: 2814 on 8879  Progress: 2815 on 8879  Progress: 2816 on 8879  Progress: 2817 on 8879  Progress: 2818 on 8879  Progress: 2819 on 8879  Progress: 2820 on 8879  Progress: 2821 on 8879  Progress: 2822 on 8879  Progress: 2823 on 8879  Progress: 2824 on 8879  Progress: 2825 on 8879  Progress: 2826 on 8879  Progress: 2827 on 8879  Progress: 2828 on 8879  Progress: 2829 on 8879  Progress: 2830 on 8879  Progress: 2831 on 8879  Progress: 2832 on 8879  Progress: 2833 on 8879  Progress: 2834 on 8879  Progress: 2835 on 8879  Progress: 2836 on 8879  Progress: 2837 on 8879  Progress: 2838 on 8879  Progress: 2839 on 8879  Progress: 2840 on 8879  Progress: 2841 on 8879  Progress: 2842 on 8879  Progress: 2843 on 8879  Progress: 2844 on 8879  Progress: 2845 on 8879  Progress: 2846 on 8879  Progress: 2847 on 8879  Progress: 2848 on 8879  Progress: 2849 on 8879  Progress: 2850 on 8879  Progress: 2851 on 8879  Progress: 2852 on 8879  Progress: 2853 on 8879  Progress: 2854 on 8879  Progress: 2855 on 8879  Progress: 2856 on 8879  Progress: 2857 on 8879  Progress: 2858 on 8879  Progress: 2859 on 8879  Progress: 2860 on 8879  Progress: 2861 on 8879  Progress: 2862 on 8879  Progress: 2863 on 8879  Progress: 2864 on 8879  Progress: 2865 on 8879  Progress: 2866 on 8879  Progress: 2867 on 8879  Progress: 2868 on 8879  Progress: 2869 on 8879  Progress: 2870 on 8879  Progress: 2871 on 8879  Progress: 2872 on 8879  Progress: 2873 on 8879  Progress: 2874 on 8879  Progress: 2875 on 8879  Progress: 2876 on 8879  Progress: 2877 on 8879  Progress: 2878 on 8879  Progress: 2879 on 8879  Progress: 2880 on 8879  Progress: 2881 on 8879  Progress: 2882 on 8879  Progress: 2883 on 8879  Progress: 2884 on 8879  Progress: 2885 on 8879  Progress: 2886 on 8879  Progress: 2887 on 8879  Progress: 2888 on 8879  Progress: 2889 on 8879  Progress: 2890 on 8879  Progress: 2891 on 8879  Progress: 2892 on 8879  Progress: 2893 on 8879  Progress: 2894 on 8879  Progress: 2895 on 8879  Progress: 2896 on 8879  Progress: 2897 on 8879  Progress: 2898 on 8879  Progress: 2899 on 8879  Progress: 2900 on 8879  Progress: 2901 on 8879  Progress: 2902 on 8879  Progress: 2903 on 8879  Progress: 2904 on 8879  Progress: 2905 on 8879  Progress: 2906 on 8879  Progress: 2907 on 8879  Progress: 2908 on 8879  Progress: 2909 on 8879  Progress: 2910 on 8879  Progress: 2911 on 8879  Progress: 2912 on 8879  Progress: 2913 on 8879  Progress: 2914 on 8879  Progress: 2915 on 8879  Progress: 2916 on 8879  Progress: 2917 on 8879  Progress: 2918 on 8879  Progress: 2919 on 8879  Progress: 2920 on 8879  Progress: 2921 on 8879  Progress: 2922 on 8879  Progress: 2923 on 8879  Progress: 2924 on 8879  Progress: 2925 on 8879  Progress: 2926 on 8879  Progress: 2927 on 8879  Progress: 2928 on 8879  Progress: 2929 on 8879  Progress: 2930 on 8879  Progress: 2931 on 8879  Progress: 2932 on 8879  Progress: 2933 on 8879  Progress: 2934 on 8879  Progress: 2935 on 8879  Progress: 2936 on 8879  Progress: 2937 on 8879  Progress: 2938 on 8879  Progress: 2939 on 8879  Progress: 2940 on 8879  Progress: 2941 on 8879  Progress: 2942 on 8879  Progress: 2943 on 8879  Progress: 2944 on 8879  Progress: 2945 on 8879  Progress: 2946 on 8879  Progress: 2947 on 8879  Progress: 2948 on 8879  Progress: 2949 on 8879  Progress: 2950 on 8879  Progress: 2951 on 8879  Progress: 2952 on 8879  Progress: 2953 on 8879  Progress: 2954 on 8879  Progress: 2955 on 8879  Progress: 2956 on 8879  Progress: 2957 on 8879  Progress: 2958 on 8879  Progress: 2959 on 8879  Progress: 2960 on 8879  Progress: 2961 on 8879  Progress: 2962 on 8879  Progress: 2963 on 8879  Progress: 2964 on 8879  Progress: 2965 on 8879  Progress: 2966 on 8879  Progress: 2967 on 8879  Progress: 2968 on 8879  Progress: 2969 on 8879  Progress: 2970 on 8879  Progress: 2971 on 8879  Progress: 2972 on 8879  Progress: 2973 on 8879  Progress: 2974 on 8879  Progress: 2975 on 8879  Progress: 2976 on 8879  Progress: 2977 on 8879  Progress: 2978 on 8879  Progress: 2979 on 8879  Progress: 2980 on 8879  Progress: 2981 on 8879  Progress: 2982 on 8879  Progress: 2983 on 8879  Progress: 2984 on 8879  Progress: 2985 on 8879  Progress: 2986 on 8879  Progress: 2987 on 8879  Progress: 2988 on 8879  Progress: 2989 on 8879  Progress: 2990 on 8879  Progress: 2991 on 8879  Progress: 2992 on 8879  Progress: 2993 on 8879  Progress: 2994 on 8879  Progress: 2995 on 8879  Progress: 2996 on 8879  Progress: 2997 on 8879  Progress: 2998 on 8879  Progress: 2999 on 8879  Progress: 3000 on 8879  Progress: 3001 on 8879  Progress: 3002 on 8879  Progress: 3003 on 8879  Progress: 3004 on 8879  Progress: 3005 on 8879  Progress: 3006 on 8879  Progress: 3007 on 8879  Progress: 3008 on 8879  Progress: 3009 on 8879  Progress: 3010 on 8879  Progress: 3011 on 8879  Progress: 3012 on 8879  Progress: 3013 on 8879  Progress: 3014 on 8879  Progress: 3015 on 8879  Progress: 3016 on 8879  Progress: 3017 on 8879  Progress: 3018 on 8879  Progress: 3019 on 8879  Progress: 3020 on 8879  Progress: 3021 on 8879  Progress: 3022 on 8879  Progress: 3023 on 8879  Progress: 3024 on 8879  Progress: 3025 on 8879  Progress: 3026 on 8879  Progress: 3027 on 8879  Progress: 3028 on 8879  Progress: 3029 on 8879  Progress: 3030 on 8879  Progress: 3031 on 8879  Progress: 3032 on 8879  Progress: 3033 on 8879  Progress: 3034 on 8879  Progress: 3035 on 8879  Progress: 3036 on 8879  Progress: 3037 on 8879  Progress: 3038 on 8879  Progress: 3039 on 8879  Progress: 3040 on 8879  Progress: 3041 on 8879  Progress: 3042 on 8879  Progress: 3043 on 8879  Progress: 3044 on 8879  Progress: 3045 on 8879  Progress: 3046 on 8879  Progress: 3047 on 8879  Progress: 3048 on 8879  Progress: 3049 on 8879  Progress: 3050 on 8879  Progress: 3051 on 8879  Progress: 3052 on 8879  Progress: 3053 on 8879  Progress: 3054 on 8879  Progress: 3055 on 8879  Progress: 3056 on 8879  Progress: 3057 on 8879  Progress: 3058 on 8879  Progress: 3059 on 8879  Progress: 3060 on 8879  Progress: 3061 on 8879  Progress: 3062 on 8879  Progress: 3063 on 8879  Progress: 3064 on 8879  Progress: 3065 on 8879  Progress: 3066 on 8879  Progress: 3067 on 8879  Progress: 3068 on 8879  Progress: 3069 on 8879  Progress: 3070 on 8879  Progress: 3071 on 8879  Progress: 3072 on 8879  Progress: 3073 on 8879  Progress: 3074 on 8879  Progress: 3075 on 8879  Progress: 3076 on 8879  Progress: 3077 on 8879  Progress: 3078 on 8879  Progress: 3079 on 8879  Progress: 3080 on 8879  Progress: 3081 on 8879  Progress: 3082 on 8879  Progress: 3083 on 8879  Progress: 3084 on 8879  Progress: 3085 on 8879  Progress: 3086 on 8879  Progress: 3087 on 8879  Progress: 3088 on 8879  Progress: 3089 on 8879  Progress: 3090 on 8879  Progress: 3091 on 8879  Progress: 3092 on 8879  Progress: 3093 on 8879  Progress: 3094 on 8879  Progress: 3095 on 8879  Progress: 3096 on 8879  Progress: 3097 on 8879  Progress: 3098 on 8879  Progress: 3099 on 8879  Progress: 3100 on 8879  Progress: 3101 on 8879  Progress: 3102 on 8879  Progress: 3103 on 8879  Progress: 3104 on 8879  Progress: 3105 on 8879  Progress: 3106 on 8879  Progress: 3107 on 8879  Progress: 3108 on 8879  Progress: 3109 on 8879  Progress: 3110 on 8879  Progress: 3111 on 8879  Progress: 3112 on 8879  Progress: 3113 on 8879  Progress: 3114 on 8879  Progress: 3115 on 8879  Progress: 3116 on 8879  Progress: 3117 on 8879  Progress: 3118 on 8879  Progress: 3119 on 8879  Progress: 3120 on 8879  Progress: 3121 on 8879  Progress: 3122 on 8879  Progress: 3123 on 8879  Progress: 3124 on 8879  Progress: 3125 on 8879  Progress: 3126 on 8879  Progress: 3127 on 8879  Progress: 3128 on 8879  Progress: 3129 on 8879  Progress: 3130 on 8879  Progress: 3131 on 8879  Progress: 3132 on 8879  Progress: 3133 on 8879  Progress: 3134 on 8879  Progress: 3135 on 8879  Progress: 3136 on 8879  Progress: 3137 on 8879  Progress: 3138 on 8879  Progress: 3139 on 8879  Progress: 3140 on 8879  Progress: 3141 on 8879  Progress: 3142 on 8879  Progress: 3143 on 8879  Progress: 3144 on 8879  Progress: 3145 on 8879  Progress: 3146 on 8879  Progress: 3147 on 8879  Progress: 3148 on 8879  Progress: 3149 on 8879  Progress: 3150 on 8879  Progress: 3151 on 8879  Progress: 3152 on 8879  Progress: 3153 on 8879  Progress: 3154 on 8879  Progress: 3155 on 8879  Progress: 3156 on 8879  Progress: 3157 on 8879  Progress: 3158 on 8879  Progress: 3159 on 8879  Progress: 3160 on 8879  Progress: 3161 on 8879  Progress: 3162 on 8879  Progress: 3163 on 8879  Progress: 3164 on 8879  Progress: 3165 on 8879  Progress: 3166 on 8879  Progress: 3167 on 8879  Progress: 3168 on 8879  Progress: 3169 on 8879  Progress: 3170 on 8879  Progress: 3171 on 8879  Progress: 3172 on 8879  Progress: 3173 on 8879  Progress: 3174 on 8879  Progress: 3175 on 8879  Progress: 3176 on 8879  Progress: 3177 on 8879  Progress: 3178 on 8879  Progress: 3179 on 8879  Progress: 3180 on 8879  Progress: 3181 on 8879  Progress: 3182 on 8879  Progress: 3183 on 8879  Progress: 3184 on 8879  Progress: 3185 on 8879  Progress: 3186 on 8879  Progress: 3187 on 8879  Progress: 3188 on 8879  Progress: 3189 on 8879  Progress: 3190 on 8879  Progress: 3191 on 8879  Progress: 3192 on 8879  Progress: 3193 on 8879  Progress: 3194 on 8879  Progress: 3195 on 8879  Progress: 3196 on 8879  Progress: 3197 on 8879  Progress: 3198 on 8879  Progress: 3199 on 8879  Progress: 3200 on 8879  Progress: 3201 on 8879  Progress: 3202 on 8879  Progress: 3203 on 8879  Progress: 3204 on 8879  Progress: 3205 on 8879  Progress: 3206 on 8879  Progress: 3207 on 8879  Progress: 3208 on 8879  Progress: 3209 on 8879  Progress: 3210 on 8879  Progress: 3211 on 8879  Progress: 3212 on 8879  Progress: 3213 on 8879  Progress: 3214 on 8879  Progress: 3215 on 8879  Progress: 3216 on 8879  Progress: 3217 on 8879  Progress: 3218 on 8879  Progress: 3219 on 8879  Progress: 3220 on 8879  Progress: 3221 on 8879  Progress: 3222 on 8879  Progress: 3223 on 8879  Progress: 3224 on 8879  Progress: 3225 on 8879  Progress: 3226 on 8879  Progress: 3227 on 8879  Progress: 3228 on 8879  Progress: 3229 on 8879  Progress: 3230 on 8879  Progress: 3231 on 8879  Progress: 3232 on 8879  Progress: 3233 on 8879  Progress: 3234 on 8879  Progress: 3235 on 8879  Progress: 3236 on 8879  Progress: 3237 on 8879  Progress: 3238 on 8879  Progress: 3239 on 8879  Progress: 3240 on 8879  Progress: 3241 on 8879  Progress: 3242 on 8879  Progress: 3243 on 8879  Progress: 3244 on 8879  Progress: 3245 on 8879  Progress: 3246 on 8879  Progress: 3247 on 8879  Progress: 3248 on 8879  Progress: 3249 on 8879  Progress: 3250 on 8879  Progress: 3251 on 8879  Progress: 3252 on 8879  Progress: 3253 on 8879  Progress: 3254 on 8879  Progress: 3255 on 8879  Progress: 3256 on 8879  Progress: 3257 on 8879  Progress: 3258 on 8879  Progress: 3259 on 8879  Progress: 3260 on 8879  Progress: 3261 on 8879  Progress: 3262 on 8879  Progress: 3263 on 8879  Progress: 3264 on 8879  Progress: 3265 on 8879  Progress: 3266 on 8879  Progress: 3267 on 8879  Progress: 3268 on 8879  Progress: 3269 on 8879  Progress: 3270 on 8879  Progress: 3271 on 8879  Progress: 3272 on 8879  Progress: 3273 on 8879  Progress: 3274 on 8879  Progress: 3275 on 8879  Progress: 3276 on 8879  Progress: 3277 on 8879  Progress: 3278 on 8879  Progress: 3279 on 8879  Progress: 3280 on 8879  Progress: 3281 on 8879  Progress: 3282 on 8879  Progress: 3283 on 8879  Progress: 3284 on 8879  Progress: 3285 on 8879  Progress: 3286 on 8879  Progress: 3287 on 8879  Progress: 3288 on 8879  Progress: 3289 on 8879  Progress: 3290 on 8879  Progress: 3291 on 8879  Progress: 3292 on 8879  Progress: 3293 on 8879  Progress: 3294 on 8879  Progress: 3295 on 8879  Progress: 3296 on 8879  Progress: 3297 on 8879  Progress: 3298 on 8879  Progress: 3299 on 8879  Progress: 3300 on 8879  Progress: 3301 on 8879  Progress: 3302 on 8879  Progress: 3303 on 8879  Progress: 3304 on 8879  Progress: 3305 on 8879  Progress: 3306 on 8879  Progress: 3307 on 8879  Progress: 3308 on 8879  Progress: 3309 on 8879  Progress: 3310 on 8879  Progress: 3311 on 8879  Progress: 3312 on 8879  Progress: 3313 on 8879  Progress: 3314 on 8879  Progress: 3315 on 8879  Progress: 3316 on 8879  Progress: 3317 on 8879  Progress: 3318 on 8879  Progress: 3319 on 8879  Progress: 3320 on 8879  Progress: 3321 on 8879  Progress: 3322 on 8879  Progress: 3323 on 8879  Progress: 3324 on 8879  Progress: 3325 on 8879  Progress: 3326 on 8879  Progress: 3327 on 8879  Progress: 3328 on 8879  Progress: 3329 on 8879  Progress: 3330 on 8879  Progress: 3331 on 8879  Progress: 3332 on 8879  Progress: 3333 on 8879  Progress: 3334 on 8879  Progress: 3335 on 8879  Progress: 3336 on 8879  Progress: 3337 on 8879  Progress: 3338 on 8879  Progress: 3339 on 8879  Progress: 3340 on 8879  Progress: 3341 on 8879  Progress: 3342 on 8879  Progress: 3343 on 8879  Progress: 3344 on 8879  Progress: 3345 on 8879  Progress: 3346 on 8879  Progress: 3347 on 8879  Progress: 3348 on 8879  Progress: 3349 on 8879  Progress: 3350 on 8879  Progress: 3351 on 8879  Progress: 3352 on 8879  Progress: 3353 on 8879  Progress: 3354 on 8879  Progress: 3355 on 8879  Progress: 3356 on 8879  Progress: 3357 on 8879  Progress: 3358 on 8879  Progress: 3359 on 8879  Progress: 3360 on 8879  Progress: 3361 on 8879  Progress: 3362 on 8879  Progress: 3363 on 8879  Progress: 3364 on 8879  Progress: 3365 on 8879  Progress: 3366 on 8879  Progress: 3367 on 8879  Progress: 3368 on 8879  Progress: 3369 on 8879  Progress: 3370 on 8879  Progress: 3371 on 8879  Progress: 3372 on 8879  Progress: 3373 on 8879  Progress: 3374 on 8879  Progress: 3375 on 8879  Progress: 3376 on 8879  Progress: 3377 on 8879  Progress: 3378 on 8879  Progress: 3379 on 8879  Progress: 3380 on 8879  Progress: 3381 on 8879  Progress: 3382 on 8879  Progress: 3383 on 8879  Progress: 3384 on 8879  Progress: 3385 on 8879  Progress: 3386 on 8879  Progress: 3387 on 8879  Progress: 3388 on 8879  Progress: 3389 on 8879  Progress: 3390 on 8879  Progress: 3391 on 8879  Progress: 3392 on 8879  Progress: 3393 on 8879  Progress: 3394 on 8879  Progress: 3395 on 8879  Progress: 3396 on 8879  Progress: 3397 on 8879  Progress: 3398 on 8879  Progress: 3399 on 8879  Progress: 3400 on 8879  Progress: 3401 on 8879  Progress: 3402 on 8879  Progress: 3403 on 8879  Progress: 3404 on 8879  Progress: 3405 on 8879  Progress: 3406 on 8879  Progress: 3407 on 8879  Progress: 3408 on 8879  Progress: 3409 on 8879  Progress: 3410 on 8879  Progress: 3411 on 8879  Progress: 3412 on 8879  Progress: 3413 on 8879  Progress: 3414 on 8879  Progress: 3415 on 8879  Progress: 3416 on 8879  Progress: 3417 on 8879  Progress: 3418 on 8879  Progress: 3419 on 8879  Progress: 3420 on 8879  Progress: 3421 on 8879  Progress: 3422 on 8879  Progress: 3423 on 8879  Progress: 3424 on 8879  Progress: 3425 on 8879  Progress: 3426 on 8879  Progress: 3427 on 8879  Progress: 3428 on 8879  Progress: 3429 on 8879  Progress: 3430 on 8879  Progress: 3431 on 8879  Progress: 3432 on 8879  Progress: 3433 on 8879  Progress: 3434 on 8879  Progress: 3435 on 8879  Progress: 3436 on 8879  Progress: 3437 on 8879  Progress: 3438 on 8879  Progress: 3439 on 8879  Progress: 3440 on 8879  Progress: 3441 on 8879  Progress: 3442 on 8879  Progress: 3443 on 8879  Progress: 3444 on 8879  Progress: 3445 on 8879  Progress: 3446 on 8879  Progress: 3447 on 8879  Progress: 3448 on 8879  Progress: 3449 on 8879  Progress: 3450 on 8879  Progress: 3451 on 8879  Progress: 3452 on 8879  Progress: 3453 on 8879  Progress: 3454 on 8879  Progress: 3455 on 8879  Progress: 3456 on 8879  Progress: 3457 on 8879  Progress: 3458 on 8879  Progress: 3459 on 8879  Progress: 3460 on 8879  Progress: 3461 on 8879  Progress: 3462 on 8879  Progress: 3463 on 8879  Progress: 3464 on 8879  Progress: 3465 on 8879  Progress: 3466 on 8879  Progress: 3467 on 8879  Progress: 3468 on 8879  Progress: 3469 on 8879  Progress: 3470 on 8879  Progress: 3471 on 8879  Progress: 3472 on 8879  Progress: 3473 on 8879  Progress: 3474 on 8879  Progress: 3475 on 8879  Progress: 3476 on 8879  Progress: 3477 on 8879  Progress: 3478 on 8879  Progress: 3479 on 8879  Progress: 3480 on 8879  Progress: 3481 on 8879  Progress: 3482 on 8879  Progress: 3483 on 8879  Progress: 3484 on 8879  Progress: 3485 on 8879  Progress: 3486 on 8879  Progress: 3487 on 8879  Progress: 3488 on 8879  Progress: 3489 on 8879  Progress: 3490 on 8879  Progress: 3491 on 8879  Progress: 3492 on 8879  Progress: 3493 on 8879  Progress: 3494 on 8879  Progress: 3495 on 8879  Progress: 3496 on 8879  Progress: 3497 on 8879  Progress: 3498 on 8879  Progress: 3499 on 8879  Progress: 3500 on 8879  Progress: 3501 on 8879  Progress: 3502 on 8879  Progress: 3503 on 8879  Progress: 3504 on 8879  Progress: 3505 on 8879  Progress: 3506 on 8879  Progress: 3507 on 8879  Progress: 3508 on 8879  Progress: 3509 on 8879  Progress: 3510 on 8879  Progress: 3511 on 8879  Progress: 3512 on 8879  Progress: 3513 on 8879  Progress: 3514 on 8879  Progress: 3515 on 8879  Progress: 3516 on 8879  Progress: 3517 on 8879  Progress: 3518 on 8879  Progress: 3519 on 8879  Progress: 3520 on 8879  Progress: 3521 on 8879  Progress: 3522 on 8879  Progress: 3523 on 8879  Progress: 3524 on 8879  Progress: 3525 on 8879  Progress: 3526 on 8879  Progress: 3527 on 8879  Progress: 3528 on 8879  Progress: 3529 on 8879  Progress: 3530 on 8879  Progress: 3531 on 8879  Progress: 3532 on 8879  Progress: 3533 on 8879  Progress: 3534 on 8879  Progress: 3535 on 8879  Progress: 3536 on 8879  Progress: 3537 on 8879  Progress: 3538 on 8879  Progress: 3539 on 8879  Progress: 3540 on 8879  Progress: 3541 on 8879  Progress: 3542 on 8879  Progress: 3543 on 8879  Progress: 3544 on 8879  Progress: 3545 on 8879  Progress: 3546 on 8879  Progress: 3547 on 8879  Progress: 3548 on 8879  Progress: 3549 on 8879  Progress: 3550 on 8879  Progress: 3551 on 8879  Progress: 3552 on 8879  Progress: 3553 on 8879  Progress: 3554 on 8879  Progress: 3555 on 8879  Progress: 3556 on 8879  Progress: 3557 on 8879  Progress: 3558 on 8879  Progress: 3559 on 8879  Progress: 3560 on 8879  Progress: 3561 on 8879  Progress: 3562 on 8879  Progress: 3563 on 8879  Progress: 3564 on 8879  Progress: 3565 on 8879  Progress: 3566 on 8879  Progress: 3567 on 8879  Progress: 3568 on 8879  Progress: 3569 on 8879  Progress: 3570 on 8879  Progress: 3571 on 8879  Progress: 3572 on 8879  Progress: 3573 on 8879  Progress: 3574 on 8879  Progress: 3575 on 8879  Progress: 3576 on 8879  Progress: 3577 on 8879  Progress: 3578 on 8879  Progress: 3579 on 8879  Progress: 3580 on 8879  Progress: 3581 on 8879  Progress: 3582 on 8879  Progress: 3583 on 8879  Progress: 3584 on 8879  Progress: 3585 on 8879  Progress: 3586 on 8879  Progress: 3587 on 8879  Progress: 3588 on 8879  Progress: 3589 on 8879  Progress: 3590 on 8879  Progress: 3591 on 8879  Progress: 3592 on 8879  Progress: 3593 on 8879  Progress: 3594 on 8879  Progress: 3595 on 8879  Progress: 3596 on 8879  Progress: 3597 on 8879  Progress: 3598 on 8879  Progress: 3599 on 8879  Progress: 3600 on 8879  Progress: 3601 on 8879  Progress: 3602 on 8879  Progress: 3603 on 8879  Progress: 3604 on 8879  Progress: 3605 on 8879  Progress: 3606 on 8879  Progress: 3607 on 8879  Progress: 3608 on 8879  Progress: 3609 on 8879  Progress: 3610 on 8879  Progress: 3611 on 8879  Progress: 3612 on 8879  Progress: 3613 on 8879  Progress: 3614 on 8879  Progress: 3615 on 8879  Progress: 3616 on 8879  Progress: 3617 on 8879  Progress: 3618 on 8879  Progress: 3619 on 8879  Progress: 3620 on 8879  Progress: 3621 on 8879  Progress: 3622 on 8879  Progress: 3623 on 8879  Progress: 3624 on 8879  Progress: 3625 on 8879  Progress: 3626 on 8879  Progress: 3627 on 8879  Progress: 3628 on 8879  Progress: 3629 on 8879  Progress: 3630 on 8879  Progress: 3631 on 8879  Progress: 3632 on 8879  Progress: 3633 on 8879  Progress: 3634 on 8879  Progress: 3635 on 8879  Progress: 3636 on 8879  Progress: 3637 on 8879  Progress: 3638 on 8879  Progress: 3639 on 8879  Progress: 3640 on 8879  Progress: 3641 on 8879  Progress: 3642 on 8879  Progress: 3643 on 8879  Progress: 3644 on 8879  Progress: 3645 on 8879  Progress: 3646 on 8879  Progress: 3647 on 8879  Progress: 3648 on 8879  Progress: 3649 on 8879  Progress: 3650 on 8879  Progress: 3651 on 8879  Progress: 3652 on 8879  Progress: 3653 on 8879  Progress: 3654 on 8879  Progress: 3655 on 8879  Progress: 3656 on 8879  Progress: 3657 on 8879  Progress: 3658 on 8879  Progress: 3659 on 8879  Progress: 3660 on 8879  Progress: 3661 on 8879  Progress: 3662 on 8879  Progress: 3663 on 8879  Progress: 3664 on 8879  Progress: 3665 on 8879  Progress: 3666 on 8879  Progress: 3667 on 8879  Progress: 3668 on 8879  Progress: 3669 on 8879  Progress: 3670 on 8879  Progress: 3671 on 8879  Progress: 3672 on 8879  Progress: 3673 on 8879  Progress: 3674 on 8879  Progress: 3675 on 8879  Progress: 3676 on 8879  Progress: 3677 on 8879  Progress: 3678 on 8879  Progress: 3679 on 8879  Progress: 3680 on 8879  Progress: 3681 on 8879  Progress: 3682 on 8879  Progress: 3683 on 8879  Progress: 3684 on 8879  Progress: 3685 on 8879  Progress: 3686 on 8879  Progress: 3687 on 8879  Progress: 3688 on 8879  Progress: 3689 on 8879  Progress: 3690 on 8879  Progress: 3691 on 8879  Progress: 3692 on 8879  Progress: 3693 on 8879  Progress: 3694 on 8879  Progress: 3695 on 8879  Progress: 3696 on 8879  Progress: 3697 on 8879  Progress: 3698 on 8879  Progress: 3699 on 8879  Progress: 3700 on 8879  Progress: 3701 on 8879  Progress: 3702 on 8879  Progress: 3703 on 8879  Progress: 3704 on 8879  Progress: 3705 on 8879  Progress: 3706 on 8879  Progress: 3707 on 8879  Progress: 3708 on 8879  Progress: 3709 on 8879  Progress: 3710 on 8879  Progress: 3711 on 8879  Progress: 3712 on 8879  Progress: 3713 on 8879  Progress: 3714 on 8879  Progress: 3715 on 8879  Progress: 3716 on 8879  Progress: 3717 on 8879  Progress: 3718 on 8879  Progress: 3719 on 8879  Progress: 3720 on 8879  Progress: 3721 on 8879  Progress: 3722 on 8879  Progress: 3723 on 8879  Progress: 3724 on 8879  Progress: 3725 on 8879  Progress: 3726 on 8879  Progress: 3727 on 8879  Progress: 3728 on 8879  Progress: 3729 on 8879  Progress: 3730 on 8879  Progress: 3731 on 8879  Progress: 3732 on 8879  Progress: 3733 on 8879  Progress: 3734 on 8879  Progress: 3735 on 8879  Progress: 3736 on 8879  Progress: 3737 on 8879  Progress: 3738 on 8879  Progress: 3739 on 8879  Progress: 3740 on 8879  Progress: 3741 on 8879  Progress: 3742 on 8879  Progress: 3743 on 8879  Progress: 3744 on 8879  Progress: 3745 on 8879  Progress: 3746 on 8879  Progress: 3747 on 8879  Progress: 3748 on 8879  Progress: 3749 on 8879  Progress: 3750 on 8879  Progress: 3751 on 8879  Progress: 3752 on 8879  Progress: 3753 on 8879  Progress: 3754 on 8879  Progress: 3755 on 8879  Progress: 3756 on 8879  Progress: 3757 on 8879  Progress: 3758 on 8879  Progress: 3759 on 8879  Progress: 3760 on 8879  Progress: 3761 on 8879  Progress: 3762 on 8879  Progress: 3763 on 8879  Progress: 3764 on 8879  Progress: 3765 on 8879  Progress: 3766 on 8879  Progress: 3767 on 8879  Progress: 3768 on 8879  Progress: 3769 on 8879  Progress: 3770 on 8879  Progress: 3771 on 8879  Progress: 3772 on 8879  Progress: 3773 on 8879  Progress: 3774 on 8879  Progress: 3775 on 8879  Progress: 3776 on 8879  Progress: 3777 on 8879  Progress: 3778 on 8879  Progress: 3779 on 8879  Progress: 3780 on 8879  Progress: 3781 on 8879  Progress: 3782 on 8879  Progress: 3783 on 8879  Progress: 3784 on 8879  Progress: 3785 on 8879  Progress: 3786 on 8879  Progress: 3787 on 8879  Progress: 3788 on 8879  Progress: 3789 on 8879  Progress: 3790 on 8879  Progress: 3791 on 8879  Progress: 3792 on 8879  Progress: 3793 on 8879  Progress: 3794 on 8879  Progress: 3795 on 8879  Progress: 3796 on 8879  Progress: 3797 on 8879  Progress: 3798 on 8879  Progress: 3799 on 8879  Progress: 3800 on 8879  Progress: 3801 on 8879  Progress: 3802 on 8879  Progress: 3803 on 8879  Progress: 3804 on 8879  Progress: 3805 on 8879  Progress: 3806 on 8879  Progress: 3807 on 8879  Progress: 3808 on 8879  Progress: 3809 on 8879  Progress: 3810 on 8879  Progress: 3811 on 8879  Progress: 3812 on 8879  Progress: 3813 on 8879  Progress: 3814 on 8879  Progress: 3815 on 8879  Progress: 3816 on 8879  Progress: 3817 on 8879  Progress: 3818 on 8879  Progress: 3819 on 8879  Progress: 3820 on 8879  Progress: 3821 on 8879  Progress: 3822 on 8879  Progress: 3823 on 8879  Progress: 3824 on 8879  Progress: 3825 on 8879  Progress: 3826 on 8879  Progress: 3827 on 8879  Progress: 3828 on 8879  Progress: 3829 on 8879  Progress: 3830 on 8879  Progress: 3831 on 8879  Progress: 3832 on 8879  Progress: 3833 on 8879  Progress: 3834 on 8879  Progress: 3835 on 8879  Progress: 3836 on 8879  Progress: 3837 on 8879  Progress: 3838 on 8879  Progress: 3839 on 8879  Progress: 3840 on 8879  Progress: 3841 on 8879  Progress: 3842 on 8879  Progress: 3843 on 8879  Progress: 3844 on 8879  Progress: 3845 on 8879  Progress: 3846 on 8879  Progress: 3847 on 8879  Progress: 3848 on 8879  Progress: 3849 on 8879  Progress: 3850 on 8879  Progress: 3851 on 8879  Progress: 3852 on 8879  Progress: 3853 on 8879  Progress: 3854 on 8879  Progress: 3855 on 8879  Progress: 3856 on 8879  Progress: 3857 on 8879  Progress: 3858 on 8879  Progress: 3859 on 8879  Progress: 3860 on 8879  Progress: 3861 on 8879  Progress: 3862 on 8879  Progress: 3863 on 8879  Progress: 3864 on 8879  Progress: 3865 on 8879  Progress: 3866 on 8879  Progress: 3867 on 8879  Progress: 3868 on 8879  Progress: 3869 on 8879  Progress: 3870 on 8879  Progress: 3871 on 8879  Progress: 3872 on 8879  Progress: 3873 on 8879  Progress: 3874 on 8879  Progress: 3875 on 8879  Progress: 3876 on 8879  Progress: 3877 on 8879  Progress: 3878 on 8879  Progress: 3879 on 8879  Progress: 3880 on 8879  Progress: 3881 on 8879  Progress: 3882 on 8879  Progress: 3883 on 8879  Progress: 3884 on 8879  Progress: 3885 on 8879  Progress: 3886 on 8879  Progress: 3887 on 8879  Progress: 3888 on 8879  Progress: 3889 on 8879  Progress: 3890 on 8879  Progress: 3891 on 8879  Progress: 3892 on 8879  Progress: 3893 on 8879  Progress: 3894 on 8879  Progress: 3895 on 8879  Progress: 3896 on 8879  Progress: 3897 on 8879  Progress: 3898 on 8879  Progress: 3899 on 8879  Progress: 3900 on 8879  Progress: 3901 on 8879  Progress: 3902 on 8879  Progress: 3903 on 8879  Progress: 3904 on 8879  Progress: 3905 on 8879  Progress: 3906 on 8879  Progress: 3907 on 8879  Progress: 3908 on 8879  Progress: 3909 on 8879  Progress: 3910 on 8879  Progress: 3911 on 8879  Progress: 3912 on 8879  Progress: 3913 on 8879  Progress: 3914 on 8879  Progress: 3915 on 8879  Progress: 3916 on 8879  Progress: 3917 on 8879  Progress: 3918 on 8879  Progress: 3919 on 8879  Progress: 3920 on 8879  Progress: 3921 on 8879  Progress: 3922 on 8879  Progress: 3923 on 8879  Progress: 3924 on 8879  Progress: 3925 on 8879  Progress: 3926 on 8879  Progress: 3927 on 8879  Progress: 3928 on 8879  Progress: 3929 on 8879  Progress: 3930 on 8879  Progress: 3931 on 8879  Progress: 3932 on 8879  Progress: 3933 on 8879  Progress: 3934 on 8879  Progress: 3935 on 8879  Progress: 3936 on 8879  Progress: 3937 on 8879  Progress: 3938 on 8879  Progress: 3939 on 8879  Progress: 3940 on 8879  Progress: 3941 on 8879  Progress: 3942 on 8879  Progress: 3943 on 8879  Progress: 3944 on 8879  Progress: 3945 on 8879  Progress: 3946 on 8879  Progress: 3947 on 8879  Progress: 3948 on 8879  Progress: 3949 on 8879  Progress: 3950 on 8879  Progress: 3951 on 8879  Progress: 3952 on 8879  Progress: 3953 on 8879  Progress: 3954 on 8879  Progress: 3955 on 8879  Progress: 3956 on 8879  Progress: 3957 on 8879  Progress: 3958 on 8879  Progress: 3959 on 8879  Progress: 3960 on 8879  Progress: 3961 on 8879  Progress: 3962 on 8879  Progress: 3963 on 8879  Progress: 3964 on 8879  Progress: 3965 on 8879  Progress: 3966 on 8879  Progress: 3967 on 8879  Progress: 3968 on 8879  Progress: 3969 on 8879  Progress: 3970 on 8879  Progress: 3971 on 8879  Progress: 3972 on 8879  Progress: 3973 on 8879  Progress: 3974 on 8879  Progress: 3975 on 8879  Progress: 3976 on 8879  Progress: 3977 on 8879  Progress: 3978 on 8879  Progress: 3979 on 8879  Progress: 3980 on 8879  Progress: 3981 on 8879  Progress: 3982 on 8879  Progress: 3983 on 8879  Progress: 3984 on 8879  Progress: 3985 on 8879  Progress: 3986 on 8879  Progress: 3987 on 8879  Progress: 3988 on 8879  Progress: 3989 on 8879  Progress: 3990 on 8879  Progress: 3991 on 8879  Progress: 3992 on 8879  Progress: 3993 on 8879  Progress: 3994 on 8879  Progress: 3995 on 8879  Progress: 3996 on 8879  Progress: 3997 on 8879  Progress: 3998 on 8879  Progress: 3999 on 8879  Progress: 4000 on 8879  Progress: 4001 on 8879  Progress: 4002 on 8879  Progress: 4003 on 8879  Progress: 4004 on 8879  Progress: 4005 on 8879  Progress: 4006 on 8879  Progress: 4007 on 8879  Progress: 4008 on 8879  Progress: 4009 on 8879  Progress: 4010 on 8879  Progress: 4011 on 8879  Progress: 4012 on 8879  Progress: 4013 on 8879  Progress: 4014 on 8879  Progress: 4015 on 8879  Progress: 4016 on 8879  Progress: 4017 on 8879  Progress: 4018 on 8879  Progress: 4019 on 8879  Progress: 4020 on 8879  Progress: 4021 on 8879  Progress: 4022 on 8879  Progress: 4023 on 8879  Progress: 4024 on 8879  Progress: 4025 on 8879  Progress: 4026 on 8879  Progress: 4027 on 8879  Progress: 4028 on 8879  Progress: 4029 on 8879  Progress: 4030 on 8879  Progress: 4031 on 8879  Progress: 4032 on 8879  Progress: 4033 on 8879  Progress: 4034 on 8879  Progress: 4035 on 8879  Progress: 4036 on 8879  Progress: 4037 on 8879  Progress: 4038 on 8879  Progress: 4039 on 8879  Progress: 4040 on 8879  Progress: 4041 on 8879  Progress: 4042 on 8879  Progress: 4043 on 8879  Progress: 4044 on 8879  Progress: 4045 on 8879  Progress: 4046 on 8879  Progress: 4047 on 8879  Progress: 4048 on 8879  Progress: 4049 on 8879  Progress: 4050 on 8879  Progress: 4051 on 8879  Progress: 4052 on 8879  Progress: 4053 on 8879  Progress: 4054 on 8879  Progress: 4055 on 8879  Progress: 4056 on 8879  Progress: 4057 on 8879  Progress: 4058 on 8879  Progress: 4059 on 8879  Progress: 4060 on 8879  Progress: 4061 on 8879  Progress: 4062 on 8879  Progress: 4063 on 8879  Progress: 4064 on 8879  Progress: 4065 on 8879  Progress: 4066 on 8879  Progress: 4067 on 8879  Progress: 4068 on 8879  Progress: 4069 on 8879  Progress: 4070 on 8879  Progress: 4071 on 8879  Progress: 4072 on 8879  Progress: 4073 on 8879  Progress: 4074 on 8879  Progress: 4075 on 8879  Progress: 4076 on 8879  Progress: 4077 on 8879  Progress: 4078 on 8879  Progress: 4079 on 8879  Progress: 4080 on 8879  Progress: 4081 on 8879  Progress: 4082 on 8879  Progress: 4083 on 8879  Progress: 4084 on 8879  Progress: 4085 on 8879  Progress: 4086 on 8879  Progress: 4087 on 8879  Progress: 4088 on 8879  Progress: 4089 on 8879  Progress: 4090 on 8879  Progress: 4091 on 8879  Progress: 4092 on 8879  Progress: 4093 on 8879  Progress: 4094 on 8879  Progress: 4095 on 8879  Progress: 4096 on 8879  Progress: 4097 on 8879  Progress: 4098 on 8879  Progress: 4099 on 8879  Progress: 4100 on 8879  Progress: 4101 on 8879  Progress: 4102 on 8879  Progress: 4103 on 8879  Progress: 4104 on 8879  Progress: 4105 on 8879  Progress: 4106 on 8879  Progress: 4107 on 8879  Progress: 4108 on 8879  Progress: 4109 on 8879  Progress: 4110 on 8879  Progress: 4111 on 8879  Progress: 4112 on 8879  Progress: 4113 on 8879  Progress: 4114 on 8879  Progress: 4115 on 8879  Progress: 4116 on 8879  Progress: 4117 on 8879  Progress: 4118 on 8879  Progress: 4119 on 8879  Progress: 4120 on 8879  Progress: 4121 on 8879  Progress: 4122 on 8879  Progress: 4123 on 8879  Progress: 4124 on 8879  Progress: 4125 on 8879  Progress: 4126 on 8879  Progress: 4127 on 8879  Progress: 4128 on 8879  Progress: 4129 on 8879  Progress: 4130 on 8879  Progress: 4131 on 8879  Progress: 4132 on 8879  Progress: 4133 on 8879  Progress: 4134 on 8879  Progress: 4135 on 8879  Progress: 4136 on 8879  Progress: 4137 on 8879  Progress: 4138 on 8879  Progress: 4139 on 8879  Progress: 4140 on 8879  Progress: 4141 on 8879  Progress: 4142 on 8879  Progress: 4143 on 8879  Progress: 4144 on 8879  Progress: 4145 on 8879  Progress: 4146 on 8879  Progress: 4147 on 8879  Progress: 4148 on 8879  Progress: 4149 on 8879  Progress: 4150 on 8879  Progress: 4151 on 8879  Progress: 4152 on 8879  Progress: 4153 on 8879  Progress: 4154 on 8879  Progress: 4155 on 8879  Progress: 4156 on 8879  Progress: 4157 on 8879  Progress: 4158 on 8879  Progress: 4159 on 8879  Progress: 4160 on 8879  Progress: 4161 on 8879  Progress: 4162 on 8879  Progress: 4163 on 8879  Progress: 4164 on 8879  Progress: 4165 on 8879  Progress: 4166 on 8879  Progress: 4167 on 8879  Progress: 4168 on 8879  Progress: 4169 on 8879  Progress: 4170 on 8879  Progress: 4171 on 8879  Progress: 4172 on 8879  Progress: 4173 on 8879  Progress: 4174 on 8879  Progress: 4175 on 8879  Progress: 4176 on 8879  Progress: 4177 on 8879  Progress: 4178 on 8879  Progress: 4179 on 8879  Progress: 4180 on 8879  Progress: 4181 on 8879  Progress: 4182 on 8879  Progress: 4183 on 8879  Progress: 4184 on 8879  Progress: 4185 on 8879  Progress: 4186 on 8879  Progress: 4187 on 8879  Progress: 4188 on 8879  Progress: 4189 on 8879  Progress: 4190 on 8879  Progress: 4191 on 8879  Progress: 4192 on 8879  Progress: 4193 on 8879  Progress: 4194 on 8879  Progress: 4195 on 8879  Progress: 4196 on 8879  Progress: 4197 on 8879  Progress: 4198 on 8879  Progress: 4199 on 8879  Progress: 4200 on 8879  Progress: 4201 on 8879  Progress: 4202 on 8879  Progress: 4203 on 8879  Progress: 4204 on 8879  Progress: 4205 on 8879  Progress: 4206 on 8879  Progress: 4207 on 8879  Progress: 4208 on 8879  Progress: 4209 on 8879  Progress: 4210 on 8879  Progress: 4211 on 8879  Progress: 4212 on 8879  Progress: 4213 on 8879  Progress: 4214 on 8879  Progress: 4215 on 8879  Progress: 4216 on 8879  Progress: 4217 on 8879  Progress: 4218 on 8879  Progress: 4219 on 8879  Progress: 4220 on 8879  Progress: 4221 on 8879  Progress: 4222 on 8879  Progress: 4223 on 8879  Progress: 4224 on 8879  Progress: 4225 on 8879  Progress: 4226 on 8879  Progress: 4227 on 8879  Progress: 4228 on 8879  Progress: 4229 on 8879  Progress: 4230 on 8879  Progress: 4231 on 8879  Progress: 4232 on 8879  Progress: 4233 on 8879  Progress: 4234 on 8879  Progress: 4235 on 8879  Progress: 4236 on 8879  Progress: 4237 on 8879  Progress: 4238 on 8879  Progress: 4239 on 8879  Progress: 4240 on 8879  Progress: 4241 on 8879  Progress: 4242 on 8879  Progress: 4243 on 8879  Progress: 4244 on 8879  Progress: 4245 on 8879  Progress: 4246 on 8879  Progress: 4247 on 8879  Progress: 4248 on 8879  Progress: 4249 on 8879  Progress: 4250 on 8879  Progress: 4251 on 8879  Progress: 4252 on 8879  Progress: 4253 on 8879  Progress: 4254 on 8879  Progress: 4255 on 8879  Progress: 4256 on 8879  Progress: 4257 on 8879  Progress: 4258 on 8879  Progress: 4259 on 8879  Progress: 4260 on 8879  Progress: 4261 on 8879  Progress: 4262 on 8879  Progress: 4263 on 8879  Progress: 4264 on 8879  Progress: 4265 on 8879  Progress: 4266 on 8879  Progress: 4267 on 8879  Progress: 4268 on 8879  Progress: 4269 on 8879  Progress: 4270 on 8879  Progress: 4271 on 8879  Progress: 4272 on 8879  Progress: 4273 on 8879  Progress: 4274 on 8879  Progress: 4275 on 8879  Progress: 4276 on 8879  Progress: 4277 on 8879  Progress: 4278 on 8879  Progress: 4279 on 8879  Progress: 4280 on 8879  Progress: 4281 on 8879  Progress: 4282 on 8879  Progress: 4283 on 8879  Progress: 4284 on 8879  Progress: 4285 on 8879  Progress: 4286 on 8879  Progress: 4287 on 8879  Progress: 4288 on 8879  Progress: 4289 on 8879  Progress: 4290 on 8879  Progress: 4291 on 8879  Progress: 4292 on 8879  Progress: 4293 on 8879  Progress: 4294 on 8879  Progress: 4295 on 8879  Progress: 4296 on 8879  Progress: 4297 on 8879  Progress: 4298 on 8879  Progress: 4299 on 8879  Progress: 4300 on 8879  Progress: 4301 on 8879  Progress: 4302 on 8879  Progress: 4303 on 8879  Progress: 4304 on 8879  Progress: 4305 on 8879  Progress: 4306 on 8879  Progress: 4307 on 8879  Progress: 4308 on 8879  Progress: 4309 on 8879  Progress: 4310 on 8879  Progress: 4311 on 8879  Progress: 4312 on 8879  Progress: 4313 on 8879  Progress: 4314 on 8879  Progress: 4315 on 8879  Progress: 4316 on 8879  Progress: 4317 on 8879  Progress: 4318 on 8879  Progress: 4319 on 8879  Progress: 4320 on 8879  Progress: 4321 on 8879  Progress: 4322 on 8879  Progress: 4323 on 8879  Progress: 4324 on 8879  Progress: 4325 on 8879  Progress: 4326 on 8879  Progress: 4327 on 8879  Progress: 4328 on 8879  Progress: 4329 on 8879  Progress: 4330 on 8879  Progress: 4331 on 8879  Progress: 4332 on 8879  Progress: 4333 on 8879  Progress: 4334 on 8879  Progress: 4335 on 8879  Progress: 4336 on 8879  Progress: 4337 on 8879  Progress: 4338 on 8879  Progress: 4339 on 8879  Progress: 4340 on 8879  Progress: 4341 on 8879  Progress: 4342 on 8879  Progress: 4343 on 8879  Progress: 4344 on 8879  Progress: 4345 on 8879  Progress: 4346 on 8879  Progress: 4347 on 8879  Progress: 4348 on 8879  Progress: 4349 on 8879  Progress: 4350 on 8879  Progress: 4351 on 8879  Progress: 4352 on 8879  Progress: 4353 on 8879  Progress: 4354 on 8879  Progress: 4355 on 8879  Progress: 4356 on 8879  Progress: 4357 on 8879  Progress: 4358 on 8879  Progress: 4359 on 8879  Progress: 4360 on 8879  Progress: 4361 on 8879  Progress: 4362 on 8879  Progress: 4363 on 8879  Progress: 4364 on 8879  Progress: 4365 on 8879  Progress: 4366 on 8879  Progress: 4367 on 8879  Progress: 4368 on 8879  Progress: 4369 on 8879  Progress: 4370 on 8879  Progress: 4371 on 8879  Progress: 4372 on 8879  Progress: 4373 on 8879  Progress: 4374 on 8879  Progress: 4375 on 8879  Progress: 4376 on 8879  Progress: 4377 on 8879  Progress: 4378 on 8879  Progress: 4379 on 8879  Progress: 4380 on 8879  Progress: 4381 on 8879  Progress: 4382 on 8879  Progress: 4383 on 8879  Progress: 4384 on 8879  Progress: 4385 on 8879  Progress: 4386 on 8879  Progress: 4387 on 8879  Progress: 4388 on 8879  Progress: 4389 on 8879  Progress: 4390 on 8879  Progress: 4391 on 8879  Progress: 4392 on 8879  Progress: 4393 on 8879  Progress: 4394 on 8879  Progress: 4395 on 8879  Progress: 4396 on 8879  Progress: 4397 on 8879  Progress: 4398 on 8879  Progress: 4399 on 8879  Progress: 4400 on 8879  Progress: 4401 on 8879  Progress: 4402 on 8879  Progress: 4403 on 8879  Progress: 4404 on 8879  Progress: 4405 on 8879  Progress: 4406 on 8879  Progress: 4407 on 8879  Progress: 4408 on 8879  Progress: 4409 on 8879  Progress: 4410 on 8879  Progress: 4411 on 8879  Progress: 4412 on 8879  Progress: 4413 on 8879  Progress: 4414 on 8879  Progress: 4415 on 8879  Progress: 4416 on 8879  Progress: 4417 on 8879  Progress: 4418 on 8879  Progress: 4419 on 8879  Progress: 4420 on 8879  Progress: 4421 on 8879  Progress: 4422 on 8879  Progress: 4423 on 8879  Progress: 4424 on 8879  Progress: 4425 on 8879  Progress: 4426 on 8879  Progress: 4427 on 8879  Progress: 4428 on 8879  Progress: 4429 on 8879  Progress: 4430 on 8879  Progress: 4431 on 8879  Progress: 4432 on 8879  Progress: 4433 on 8879  Progress: 4434 on 8879  Progress: 4435 on 8879  Progress: 4436 on 8879  Progress: 4437 on 8879  Progress: 4438 on 8879  Progress: 4439 on 8879  Progress: 4440 on 8879  Progress: 4441 on 8879  Progress: 4442 on 8879  Progress: 4443 on 8879  Progress: 4444 on 8879  Progress: 4445 on 8879  Progress: 4446 on 8879  Progress: 4447 on 8879  Progress: 4448 on 8879  Progress: 4449 on 8879  Progress: 4450 on 8879  Progress: 4451 on 8879  Progress: 4452 on 8879  Progress: 4453 on 8879  Progress: 4454 on 8879  Progress: 4455 on 8879  Progress: 4456 on 8879  Progress: 4457 on 8879  Progress: 4458 on 8879  Progress: 4459 on 8879  Progress: 4460 on 8879  Progress: 4461 on 8879  Progress: 4462 on 8879  Progress: 4463 on 8879  Progress: 4464 on 8879  Progress: 4465 on 8879  Progress: 4466 on 8879  Progress: 4467 on 8879  Progress: 4468 on 8879  Progress: 4469 on 8879  Progress: 4470 on 8879  Progress: 4471 on 8879  Progress: 4472 on 8879  Progress: 4473 on 8879  Progress: 4474 on 8879  Progress: 4475 on 8879  Progress: 4476 on 8879  Progress: 4477 on 8879  Progress: 4478 on 8879  Progress: 4479 on 8879  Progress: 4480 on 8879  Progress: 4481 on 8879  Progress: 4482 on 8879  Progress: 4483 on 8879  Progress: 4484 on 8879  Progress: 4485 on 8879  Progress: 4486 on 8879  Progress: 4487 on 8879  Progress: 4488 on 8879  Progress: 4489 on 8879  Progress: 4490 on 8879  Progress: 4491 on 8879  Progress: 4492 on 8879  Progress: 4493 on 8879  Progress: 4494 on 8879  Progress: 4495 on 8879  Progress: 4496 on 8879  Progress: 4497 on 8879  Progress: 4498 on 8879  Progress: 4499 on 8879  Progress: 4500 on 8879  Progress: 4501 on 8879  Progress: 4502 on 8879  Progress: 4503 on 8879  Progress: 4504 on 8879  Progress: 4505 on 8879  Progress: 4506 on 8879  Progress: 4507 on 8879  Progress: 4508 on 8879  Progress: 4509 on 8879  Progress: 4510 on 8879  Progress: 4511 on 8879  Progress: 4512 on 8879  Progress: 4513 on 8879  Progress: 4514 on 8879  Progress: 4515 on 8879  Progress: 4516 on 8879  Progress: 4517 on 8879  Progress: 4518 on 8879  Progress: 4519 on 8879  Progress: 4520 on 8879  Progress: 4521 on 8879  Progress: 4522 on 8879  Progress: 4523 on 8879  Progress: 4524 on 8879  Progress: 4525 on 8879  Progress: 4526 on 8879  Progress: 4527 on 8879  Progress: 4528 on 8879  Progress: 4529 on 8879  Progress: 4530 on 8879  Progress: 4531 on 8879  Progress: 4532 on 8879  Progress: 4533 on 8879  Progress: 4534 on 8879  Progress: 4535 on 8879  Progress: 4536 on 8879  Progress: 4537 on 8879  Progress: 4538 on 8879  Progress: 4539 on 8879  Progress: 4540 on 8879  Progress: 4541 on 8879  Progress: 4542 on 8879  Progress: 4543 on 8879  Progress: 4544 on 8879  Progress: 4545 on 8879  Progress: 4546 on 8879  Progress: 4547 on 8879  Progress: 4548 on 8879  Progress: 4549 on 8879  Progress: 4550 on 8879  Progress: 4551 on 8879  Progress: 4552 on 8879  Progress: 4553 on 8879  Progress: 4554 on 8879  Progress: 4555 on 8879  Progress: 4556 on 8879  Progress: 4557 on 8879  Progress: 4558 on 8879  Progress: 4559 on 8879  Progress: 4560 on 8879  Progress: 4561 on 8879  Progress: 4562 on 8879  Progress: 4563 on 8879  Progress: 4564 on 8879  Progress: 4565 on 8879  Progress: 4566 on 8879  Progress: 4567 on 8879  Progress: 4568 on 8879  Progress: 4569 on 8879  Progress: 4570 on 8879  Progress: 4571 on 8879  Progress: 4572 on 8879  Progress: 4573 on 8879  Progress: 4574 on 8879  Progress: 4575 on 8879  Progress: 4576 on 8879  Progress: 4577 on 8879  Progress: 4578 on 8879  Progress: 4579 on 8879  Progress: 4580 on 8879  Progress: 4581 on 8879  Progress: 4582 on 8879  Progress: 4583 on 8879  Progress: 4584 on 8879  Progress: 4585 on 8879  Progress: 4586 on 8879  Progress: 4587 on 8879  Progress: 4588 on 8879  Progress: 4589 on 8879  Progress: 4590 on 8879  Progress: 4591 on 8879  Progress: 4592 on 8879  Progress: 4593 on 8879  Progress: 4594 on 8879  Progress: 4595 on 8879  Progress: 4596 on 8879  Progress: 4597 on 8879  Progress: 4598 on 8879  Progress: 4599 on 8879  Progress: 4600 on 8879  Progress: 4601 on 8879  Progress: 4602 on 8879  Progress: 4603 on 8879  Progress: 4604 on 8879  Progress: 4605 on 8879  Progress: 4606 on 8879  Progress: 4607 on 8879  Progress: 4608 on 8879  Progress: 4609 on 8879  Progress: 4610 on 8879  Progress: 4611 on 8879  Progress: 4612 on 8879  Progress: 4613 on 8879  Progress: 4614 on 8879  Progress: 4615 on 8879  Progress: 4616 on 8879  Progress: 4617 on 8879  Progress: 4618 on 8879  Progress: 4619 on 8879  Progress: 4620 on 8879  Progress: 4621 on 8879  Progress: 4622 on 8879  Progress: 4623 on 8879  Progress: 4624 on 8879  Progress: 4625 on 8879  Progress: 4626 on 8879  Progress: 4627 on 8879  Progress: 4628 on 8879  Progress: 4629 on 8879  Progress: 4630 on 8879  Progress: 4631 on 8879  Progress: 4632 on 8879  Progress: 4633 on 8879  Progress: 4634 on 8879  Progress: 4635 on 8879  Progress: 4636 on 8879  Progress: 4637 on 8879  Progress: 4638 on 8879  Progress: 4639 on 8879  Progress: 4640 on 8879  Progress: 4641 on 8879  Progress: 4642 on 8879  Progress: 4643 on 8879  Progress: 4644 on 8879  Progress: 4645 on 8879  Progress: 4646 on 8879  Progress: 4647 on 8879  Progress: 4648 on 8879  Progress: 4649 on 8879  Progress: 4650 on 8879  Progress: 4651 on 8879  Progress: 4652 on 8879  Progress: 4653 on 8879  Progress: 4654 on 8879  Progress: 4655 on 8879  Progress: 4656 on 8879  Progress: 4657 on 8879  Progress: 4658 on 8879  Progress: 4659 on 8879  Progress: 4660 on 8879  Progress: 4661 on 8879  Progress: 4662 on 8879  Progress: 4663 on 8879  Progress: 4664 on 8879  Progress: 4665 on 8879  Progress: 4666 on 8879  Progress: 4667 on 8879  Progress: 4668 on 8879  Progress: 4669 on 8879  Progress: 4670 on 8879  Progress: 4671 on 8879  Progress: 4672 on 8879  Progress: 4673 on 8879  Progress: 4674 on 8879  Progress: 4675 on 8879  Progress: 4676 on 8879  Progress: 4677 on 8879  Progress: 4678 on 8879  Progress: 4679 on 8879  Progress: 4680 on 8879  Progress: 4681 on 8879  Progress: 4682 on 8879  Progress: 4683 on 8879  Progress: 4684 on 8879  Progress: 4685 on 8879  Progress: 4686 on 8879  Progress: 4687 on 8879  Progress: 4688 on 8879  Progress: 4689 on 8879  Progress: 4690 on 8879  Progress: 4691 on 8879  Progress: 4692 on 8879  Progress: 4693 on 8879  Progress: 4694 on 8879  Progress: 4695 on 8879  Progress: 4696 on 8879  Progress: 4697 on 8879  Progress: 4698 on 8879  Progress: 4699 on 8879  Progress: 4700 on 8879  Progress: 4701 on 8879  Progress: 4702 on 8879  Progress: 4703 on 8879  Progress: 4704 on 8879  Progress: 4705 on 8879  Progress: 4706 on 8879  Progress: 4707 on 8879  Progress: 4708 on 8879  Progress: 4709 on 8879  Progress: 4710 on 8879  Progress: 4711 on 8879  Progress: 4712 on 8879  Progress: 4713 on 8879  Progress: 4714 on 8879  Progress: 4715 on 8879  Progress: 4716 on 8879  Progress: 4717 on 8879  Progress: 4718 on 8879  Progress: 4719 on 8879  Progress: 4720 on 8879  Progress: 4721 on 8879  Progress: 4722 on 8879  Progress: 4723 on 8879  Progress: 4724 on 8879  Progress: 4725 on 8879  Progress: 4726 on 8879  Progress: 4727 on 8879  Progress: 4728 on 8879  Progress: 4729 on 8879  Progress: 4730 on 8879  Progress: 4731 on 8879  Progress: 4732 on 8879  Progress: 4733 on 8879  Progress: 4734 on 8879  Progress: 4735 on 8879  Progress: 4736 on 8879  Progress: 4737 on 8879  Progress: 4738 on 8879  Progress: 4739 on 8879  Progress: 4740 on 8879  Progress: 4741 on 8879  Progress: 4742 on 8879  Progress: 4743 on 8879  Progress: 4744 on 8879  Progress: 4745 on 8879  Progress: 4746 on 8879  Progress: 4747 on 8879  Progress: 4748 on 8879  Progress: 4749 on 8879  Progress: 4750 on 8879  Progress: 4751 on 8879  Progress: 4752 on 8879  Progress: 4753 on 8879  Progress: 4754 on 8879  Progress: 4755 on 8879  Progress: 4756 on 8879  Progress: 4757 on 8879  Progress: 4758 on 8879  Progress: 4759 on 8879  Progress: 4760 on 8879  Progress: 4761 on 8879  Progress: 4762 on 8879  Progress: 4763 on 8879  Progress: 4764 on 8879  Progress: 4765 on 8879  Progress: 4766 on 8879  Progress: 4767 on 8879  Progress: 4768 on 8879  Progress: 4769 on 8879  Progress: 4770 on 8879  Progress: 4771 on 8879  Progress: 4772 on 8879  Progress: 4773 on 8879  Progress: 4774 on 8879  Progress: 4775 on 8879  Progress: 4776 on 8879  Progress: 4777 on 8879  Progress: 4778 on 8879  Progress: 4779 on 8879  Progress: 4780 on 8879  Progress: 4781 on 8879  Progress: 4782 on 8879  Progress: 4783 on 8879  Progress: 4784 on 8879  Progress: 4785 on 8879  Progress: 4786 on 8879  Progress: 4787 on 8879  Progress: 4788 on 8879  Progress: 4789 on 8879  Progress: 4790 on 8879  Progress: 4791 on 8879  Progress: 4792 on 8879  Progress: 4793 on 8879  Progress: 4794 on 8879  Progress: 4795 on 8879  Progress: 4796 on 8879  Progress: 4797 on 8879  Progress: 4798 on 8879  Progress: 4799 on 8879  Progress: 4800 on 8879  Progress: 4801 on 8879  Progress: 4802 on 8879  Progress: 4803 on 8879  Progress: 4804 on 8879  Progress: 4805 on 8879  Progress: 4806 on 8879  Progress: 4807 on 8879  Progress: 4808 on 8879  Progress: 4809 on 8879  Progress: 4810 on 8879  Progress: 4811 on 8879  Progress: 4812 on 8879  Progress: 4813 on 8879  Progress: 4814 on 8879  Progress: 4815 on 8879  Progress: 4816 on 8879  Progress: 4817 on 8879  Progress: 4818 on 8879  Progress: 4819 on 8879  Progress: 4820 on 8879  Progress: 4821 on 8879  Progress: 4822 on 8879  Progress: 4823 on 8879  Progress: 4824 on 8879  Progress: 4825 on 8879  Progress: 4826 on 8879  Progress: 4827 on 8879  Progress: 4828 on 8879  Progress: 4829 on 8879  Progress: 4830 on 8879  Progress: 4831 on 8879  Progress: 4832 on 8879  Progress: 4833 on 8879  Progress: 4834 on 8879  Progress: 4835 on 8879  Progress: 4836 on 8879  Progress: 4837 on 8879  Progress: 4838 on 8879  Progress: 4839 on 8879  Progress: 4840 on 8879  Progress: 4841 on 8879  Progress: 4842 on 8879  Progress: 4843 on 8879  Progress: 4844 on 8879  Progress: 4845 on 8879  Progress: 4846 on 8879  Progress: 4847 on 8879  Progress: 4848 on 8879  Progress: 4849 on 8879  Progress: 4850 on 8879  Progress: 4851 on 8879  Progress: 4852 on 8879  Progress: 4853 on 8879  Progress: 4854 on 8879  Progress: 4855 on 8879  Progress: 4856 on 8879  Progress: 4857 on 8879  Progress: 4858 on 8879  Progress: 4859 on 8879  Progress: 4860 on 8879  Progress: 4861 on 8879  Progress: 4862 on 8879  Progress: 4863 on 8879  Progress: 4864 on 8879  Progress: 4865 on 8879  Progress: 4866 on 8879  Progress: 4867 on 8879  Progress: 4868 on 8879  Progress: 4869 on 8879  Progress: 4870 on 8879  Progress: 4871 on 8879  Progress: 4872 on 8879  Progress: 4873 on 8879  Progress: 4874 on 8879  Progress: 4875 on 8879  Progress: 4876 on 8879  Progress: 4877 on 8879  Progress: 4878 on 8879  Progress: 4879 on 8879  Progress: 4880 on 8879  Progress: 4881 on 8879  Progress: 4882 on 8879  Progress: 4883 on 8879  Progress: 4884 on 8879  Progress: 4885 on 8879  Progress: 4886 on 8879  Progress: 4887 on 8879  Progress: 4888 on 8879  Progress: 4889 on 8879  Progress: 4890 on 8879  Progress: 4891 on 8879  Progress: 4892 on 8879  Progress: 4893 on 8879  Progress: 4894 on 8879  Progress: 4895 on 8879  Progress: 4896 on 8879  Progress: 4897 on 8879  Progress: 4898 on 8879  Progress: 4899 on 8879  Progress: 4900 on 8879  Progress: 4901 on 8879  Progress: 4902 on 8879  Progress: 4903 on 8879  Progress: 4904 on 8879  Progress: 4905 on 8879  Progress: 4906 on 8879  Progress: 4907 on 8879  Progress: 4908 on 8879  Progress: 4909 on 8879  Progress: 4910 on 8879  Progress: 4911 on 8879  Progress: 4912 on 8879  Progress: 4913 on 8879  Progress: 4914 on 8879  Progress: 4915 on 8879  Progress: 4916 on 8879  Progress: 4917 on 8879  Progress: 4918 on 8879  Progress: 4919 on 8879  Progress: 4920 on 8879  Progress: 4921 on 8879  Progress: 4922 on 8879  Progress: 4923 on 8879  Progress: 4924 on 8879  Progress: 4925 on 8879  Progress: 4926 on 8879  Progress: 4927 on 8879  Progress: 4928 on 8879  Progress: 4929 on 8879  Progress: 4930 on 8879  Progress: 4931 on 8879  Progress: 4932 on 8879  Progress: 4933 on 8879  Progress: 4934 on 8879  Progress: 4935 on 8879  Progress: 4936 on 8879  Progress: 4937 on 8879  Progress: 4938 on 8879  Progress: 4939 on 8879  Progress: 4940 on 8879  Progress: 4941 on 8879  Progress: 4942 on 8879  Progress: 4943 on 8879  Progress: 4944 on 8879  Progress: 4945 on 8879  Progress: 4946 on 8879  Progress: 4947 on 8879  Progress: 4948 on 8879  Progress: 4949 on 8879  Progress: 4950 on 8879  Progress: 4951 on 8879  Progress: 4952 on 8879  Progress: 4953 on 8879  Progress: 4954 on 8879  Progress: 4955 on 8879  Progress: 4956 on 8879  Progress: 4957 on 8879  Progress: 4958 on 8879  Progress: 4959 on 8879  Progress: 4960 on 8879  Progress: 4961 on 8879  Progress: 4962 on 8879  Progress: 4963 on 8879  Progress: 4964 on 8879  Progress: 4965 on 8879  Progress: 4966 on 8879  Progress: 4967 on 8879  Progress: 4968 on 8879  Progress: 4969 on 8879  Progress: 4970 on 8879  Progress: 4971 on 8879  Progress: 4972 on 8879  Progress: 4973 on 8879  Progress: 4974 on 8879  Progress: 4975 on 8879  Progress: 4976 on 8879  Progress: 4977 on 8879  Progress: 4978 on 8879  Progress: 4979 on 8879  Progress: 4980 on 8879  Progress: 4981 on 8879  Progress: 4982 on 8879  Progress: 4983 on 8879  Progress: 4984 on 8879  Progress: 4985 on 8879  Progress: 4986 on 8879  Progress: 4987 on 8879  Progress: 4988 on 8879  Progress: 4989 on 8879  Progress: 4990 on 8879  Progress: 4991 on 8879  Progress: 4992 on 8879  Progress: 4993 on 8879  Progress: 4994 on 8879  Progress: 4995 on 8879  Progress: 4996 on 8879  Progress: 4997 on 8879  Progress: 4998 on 8879  Progress: 4999 on 8879  Progress: 5000 on 8879  Progress: 5001 on 8879  Progress: 5002 on 8879  Progress: 5003 on 8879  Progress: 5004 on 8879  Progress: 5005 on 8879  Progress: 5006 on 8879  Progress: 5007 on 8879  Progress: 5008 on 8879  Progress: 5009 on 8879  Progress: 5010 on 8879  Progress: 5011 on 8879  Progress: 5012 on 8879  Progress: 5013 on 8879  Progress: 5014 on 8879  Progress: 5015 on 8879  Progress: 5016 on 8879  Progress: 5017 on 8879  Progress: 5018 on 8879  Progress: 5019 on 8879  Progress: 5020 on 8879  Progress: 5021 on 8879  Progress: 5022 on 8879  Progress: 5023 on 8879  Progress: 5024 on 8879  Progress: 5025 on 8879  Progress: 5026 on 8879  Progress: 5027 on 8879  Progress: 5028 on 8879  Progress: 5029 on 8879  Progress: 5030 on 8879  Progress: 5031 on 8879  Progress: 5032 on 8879  Progress: 5033 on 8879  Progress: 5034 on 8879  Progress: 5035 on 8879  Progress: 5036 on 8879  Progress: 5037 on 8879  Progress: 5038 on 8879  Progress: 5039 on 8879  Progress: 5040 on 8879  Progress: 5041 on 8879  Progress: 5042 on 8879  Progress: 5043 on 8879  Progress: 5044 on 8879  Progress: 5045 on 8879  Progress: 5046 on 8879  Progress: 5047 on 8879  Progress: 5048 on 8879  Progress: 5049 on 8879  Progress: 5050 on 8879  Progress: 5051 on 8879  Progress: 5052 on 8879  Progress: 5053 on 8879  Progress: 5054 on 8879  Progress: 5055 on 8879  Progress: 5056 on 8879  Progress: 5057 on 8879  Progress: 5058 on 8879  Progress: 5059 on 8879  Progress: 5060 on 8879  Progress: 5061 on 8879  Progress: 5062 on 8879  Progress: 5063 on 8879  Progress: 5064 on 8879  Progress: 5065 on 8879  Progress: 5066 on 8879  Progress: 5067 on 8879  Progress: 5068 on 8879  Progress: 5069 on 8879  Progress: 5070 on 8879  Progress: 5071 on 8879  Progress: 5072 on 8879  Progress: 5073 on 8879  Progress: 5074 on 8879  Progress: 5075 on 8879  Progress: 5076 on 8879  Progress: 5077 on 8879  Progress: 5078 on 8879  Progress: 5079 on 8879  Progress: 5080 on 8879  Progress: 5081 on 8879  Progress: 5082 on 8879  Progress: 5083 on 8879  Progress: 5084 on 8879  Progress: 5085 on 8879  Progress: 5086 on 8879  Progress: 5087 on 8879  Progress: 5088 on 8879  Progress: 5089 on 8879  Progress: 5090 on 8879  Progress: 5091 on 8879  Progress: 5092 on 8879  Progress: 5093 on 8879  Progress: 5094 on 8879  Progress: 5095 on 8879  Progress: 5096 on 8879  Progress: 5097 on 8879  Progress: 5098 on 8879  Progress: 5099 on 8879  Progress: 5100 on 8879  Progress: 5101 on 8879  Progress: 5102 on 8879  Progress: 5103 on 8879  Progress: 5104 on 8879  Progress: 5105 on 8879  Progress: 5106 on 8879  Progress: 5107 on 8879  Progress: 5108 on 8879  Progress: 5109 on 8879  Progress: 5110 on 8879  Progress: 5111 on 8879  Progress: 5112 on 8879  Progress: 5113 on 8879  Progress: 5114 on 8879  Progress: 5115 on 8879  Progress: 5116 on 8879  Progress: 5117 on 8879  Progress: 5118 on 8879  Progress: 5119 on 8879  Progress: 5120 on 8879  Progress: 5121 on 8879  Progress: 5122 on 8879  Progress: 5123 on 8879  Progress: 5124 on 8879  Progress: 5125 on 8879  Progress: 5126 on 8879  Progress: 5127 on 8879  Progress: 5128 on 8879  Progress: 5129 on 8879  Progress: 5130 on 8879  Progress: 5131 on 8879  Progress: 5132 on 8879  Progress: 5133 on 8879  Progress: 5134 on 8879  Progress: 5135 on 8879  Progress: 5136 on 8879  Progress: 5137 on 8879  Progress: 5138 on 8879  Progress: 5139 on 8879  Progress: 5140 on 8879  Progress: 5141 on 8879  Progress: 5142 on 8879  Progress: 5143 on 8879  Progress: 5144 on 8879  Progress: 5145 on 8879  Progress: 5146 on 8879  Progress: 5147 on 8879  Progress: 5148 on 8879  Progress: 5149 on 8879  Progress: 5150 on 8879  Progress: 5151 on 8879  Progress: 5152 on 8879  Progress: 5153 on 8879  Progress: 5154 on 8879  Progress: 5155 on 8879  Progress: 5156 on 8879  Progress: 5157 on 8879  Progress: 5158 on 8879  Progress: 5159 on 8879  Progress: 5160 on 8879  Progress: 5161 on 8879  Progress: 5162 on 8879  Progress: 5163 on 8879  Progress: 5164 on 8879  Progress: 5165 on 8879  Progress: 5166 on 8879  Progress: 5167 on 8879  Progress: 5168 on 8879  Progress: 5169 on 8879  Progress: 5170 on 8879  Progress: 5171 on 8879  Progress: 5172 on 8879  Progress: 5173 on 8879  Progress: 5174 on 8879  Progress: 5175 on 8879  Progress: 5176 on 8879  Progress: 5177 on 8879  Progress: 5178 on 8879  Progress: 5179 on 8879  Progress: 5180 on 8879  Progress: 5181 on 8879  Progress: 5182 on 8879  Progress: 5183 on 8879  Progress: 5184 on 8879  Progress: 5185 on 8879  Progress: 5186 on 8879  Progress: 5187 on 8879  Progress: 5188 on 8879  Progress: 5189 on 8879  Progress: 5190 on 8879  Progress: 5191 on 8879  Progress: 5192 on 8879  Progress: 5193 on 8879  Progress: 5194 on 8879  Progress: 5195 on 8879  Progress: 5196 on 8879  Progress: 5197 on 8879  Progress: 5198 on 8879  Progress: 5199 on 8879  Progress: 5200 on 8879  Progress: 5201 on 8879  Progress: 5202 on 8879  Progress: 5203 on 8879  Progress: 5204 on 8879  Progress: 5205 on 8879  Progress: 5206 on 8879  Progress: 5207 on 8879  Progress: 5208 on 8879  Progress: 5209 on 8879  Progress: 5210 on 8879  Progress: 5211 on 8879  Progress: 5212 on 8879  Progress: 5213 on 8879  Progress: 5214 on 8879  Progress: 5215 on 8879  Progress: 5216 on 8879  Progress: 5217 on 8879  Progress: 5218 on 8879  Progress: 5219 on 8879  Progress: 5220 on 8879  Progress: 5221 on 8879  Progress: 5222 on 8879  Progress: 5223 on 8879  Progress: 5224 on 8879  Progress: 5225 on 8879  Progress: 5226 on 8879  Progress: 5227 on 8879  Progress: 5228 on 8879  Progress: 5229 on 8879  Progress: 5230 on 8879  Progress: 5231 on 8879  Progress: 5232 on 8879  Progress: 5233 on 8879  Progress: 5234 on 8879  Progress: 5235 on 8879  Progress: 5236 on 8879  Progress: 5237 on 8879  Progress: 5238 on 8879  Progress: 5239 on 8879  Progress: 5240 on 8879  Progress: 5241 on 8879  Progress: 5242 on 8879  Progress: 5243 on 8879  Progress: 5244 on 8879  Progress: 5245 on 8879  Progress: 5246 on 8879  Progress: 5247 on 8879  Progress: 5248 on 8879  Progress: 5249 on 8879  Progress: 5250 on 8879  Progress: 5251 on 8879  Progress: 5252 on 8879  Progress: 5253 on 8879  Progress: 5254 on 8879  Progress: 5255 on 8879  Progress: 5256 on 8879  Progress: 5257 on 8879  Progress: 5258 on 8879  Progress: 5259 on 8879  Progress: 5260 on 8879  Progress: 5261 on 8879  Progress: 5262 on 8879  Progress: 5263 on 8879  Progress: 5264 on 8879  Progress: 5265 on 8879  Progress: 5266 on 8879  Progress: 5267 on 8879  Progress: 5268 on 8879  Progress: 5269 on 8879  Progress: 5270 on 8879  Progress: 5271 on 8879  Progress: 5272 on 8879  Progress: 5273 on 8879  Progress: 5274 on 8879  Progress: 5275 on 8879  Progress: 5276 on 8879  Progress: 5277 on 8879  Progress: 5278 on 8879  Progress: 5279 on 8879  Progress: 5280 on 8879  Progress: 5281 on 8879  Progress: 5282 on 8879  Progress: 5283 on 8879  Progress: 5284 on 8879  Progress: 5285 on 8879  Progress: 5286 on 8879  Progress: 5287 on 8879  Progress: 5288 on 8879  Progress: 5289 on 8879  Progress: 5290 on 8879  Progress: 5291 on 8879  Progress: 5292 on 8879  Progress: 5293 on 8879  Progress: 5294 on 8879  Progress: 5295 on 8879  Progress: 5296 on 8879  Progress: 5297 on 8879  Progress: 5298 on 8879  Progress: 5299 on 8879  Progress: 5300 on 8879  Progress: 5301 on 8879  Progress: 5302 on 8879  Progress: 5303 on 8879  Progress: 5304 on 8879  Progress: 5305 on 8879  Progress: 5306 on 8879  Progress: 5307 on 8879  Progress: 5308 on 8879  Progress: 5309 on 8879  Progress: 5310 on 8879  Progress: 5311 on 8879  Progress: 5312 on 8879  Progress: 5313 on 8879  Progress: 5314 on 8879  Progress: 5315 on 8879  Progress: 5316 on 8879  Progress: 5317 on 8879  Progress: 5318 on 8879  Progress: 5319 on 8879  Progress: 5320 on 8879  Progress: 5321 on 8879  Progress: 5322 on 8879  Progress: 5323 on 8879  Progress: 5324 on 8879  Progress: 5325 on 8879  Progress: 5326 on 8879  Progress: 5327 on 8879  Progress: 5328 on 8879  Progress: 5329 on 8879  Progress: 5330 on 8879  Progress: 5331 on 8879  Progress: 5332 on 8879  Progress: 5333 on 8879  Progress: 5334 on 8879  Progress: 5335 on 8879  Progress: 5336 on 8879  Progress: 5337 on 8879  Progress: 5338 on 8879  Progress: 5339 on 8879  Progress: 5340 on 8879  Progress: 5341 on 8879  Progress: 5342 on 8879  Progress: 5343 on 8879  Progress: 5344 on 8879  Progress: 5345 on 8879  Progress: 5346 on 8879  Progress: 5347 on 8879  Progress: 5348 on 8879  Progress: 5349 on 8879  Progress: 5350 on 8879  Progress: 5351 on 8879  Progress: 5352 on 8879  Progress: 5353 on 8879  Progress: 5354 on 8879  Progress: 5355 on 8879  Progress: 5356 on 8879  Progress: 5357 on 8879  Progress: 5358 on 8879  Progress: 5359 on 8879  Progress: 5360 on 8879  Progress: 5361 on 8879  Progress: 5362 on 8879  Progress: 5363 on 8879  Progress: 5364 on 8879  Progress: 5365 on 8879  Progress: 5366 on 8879  Progress: 5367 on 8879  Progress: 5368 on 8879  Progress: 5369 on 8879  Progress: 5370 on 8879  Progress: 5371 on 8879  Progress: 5372 on 8879  Progress: 5373 on 8879  Progress: 5374 on 8879  Progress: 5375 on 8879  Progress: 5376 on 8879  Progress: 5377 on 8879  Progress: 5378 on 8879  Progress: 5379 on 8879  Progress: 5380 on 8879  Progress: 5381 on 8879  Progress: 5382 on 8879  Progress: 5383 on 8879  Progress: 5384 on 8879  Progress: 5385 on 8879  Progress: 5386 on 8879  Progress: 5387 on 8879  Progress: 5388 on 8879  Progress: 5389 on 8879  Progress: 5390 on 8879  Progress: 5391 on 8879  Progress: 5392 on 8879  Progress: 5393 on 8879  Progress: 5394 on 8879  Progress: 5395 on 8879  Progress: 5396 on 8879  Progress: 5397 on 8879  Progress: 5398 on 8879  Progress: 5399 on 8879  Progress: 5400 on 8879  Progress: 5401 on 8879  Progress: 5402 on 8879  Progress: 5403 on 8879  Progress: 5404 on 8879  Progress: 5405 on 8879  Progress: 5406 on 8879  Progress: 5407 on 8879  Progress: 5408 on 8879  Progress: 5409 on 8879  Progress: 5410 on 8879  Progress: 5411 on 8879  Progress: 5412 on 8879  Progress: 5413 on 8879  Progress: 5414 on 8879  Progress: 5415 on 8879  Progress: 5416 on 8879  Progress: 5417 on 8879  Progress: 5418 on 8879  Progress: 5419 on 8879  Progress: 5420 on 8879  Progress: 5421 on 8879  Progress: 5422 on 8879  Progress: 5423 on 8879  Progress: 5424 on 8879  Progress: 5425 on 8879  Progress: 5426 on 8879  Progress: 5427 on 8879  Progress: 5428 on 8879  Progress: 5429 on 8879  Progress: 5430 on 8879  Progress: 5431 on 8879  Progress: 5432 on 8879  Progress: 5433 on 8879  Progress: 5434 on 8879  Progress: 5435 on 8879  Progress: 5436 on 8879  Progress: 5437 on 8879  Progress: 5438 on 8879  Progress: 5439 on 8879  Progress: 5440 on 8879  Progress: 5441 on 8879  Progress: 5442 on 8879  Progress: 5443 on 8879  Progress: 5444 on 8879  Progress: 5445 on 8879  Progress: 5446 on 8879  Progress: 5447 on 8879  Progress: 5448 on 8879  Progress: 5449 on 8879  Progress: 5450 on 8879  Progress: 5451 on 8879  Progress: 5452 on 8879  Progress: 5453 on 8879  Progress: 5454 on 8879  Progress: 5455 on 8879  Progress: 5456 on 8879  Progress: 5457 on 8879  Progress: 5458 on 8879  Progress: 5459 on 8879  Progress: 5460 on 8879  Progress: 5461 on 8879  Progress: 5462 on 8879  Progress: 5463 on 8879  Progress: 5464 on 8879  Progress: 5465 on 8879  Progress: 5466 on 8879  Progress: 5467 on 8879  Progress: 5468 on 8879  Progress: 5469 on 8879  Progress: 5470 on 8879  Progress: 5471 on 8879  Progress: 5472 on 8879  Progress: 5473 on 8879  Progress: 5474 on 8879  Progress: 5475 on 8879  Progress: 5476 on 8879  Progress: 5477 on 8879  Progress: 5478 on 8879  Progress: 5479 on 8879  Progress: 5480 on 8879  Progress: 5481 on 8879  Progress: 5482 on 8879  Progress: 5483 on 8879  Progress: 5484 on 8879  Progress: 5485 on 8879  Progress: 5486 on 8879  Progress: 5487 on 8879  Progress: 5488 on 8879  Progress: 5489 on 8879  Progress: 5490 on 8879  Progress: 5491 on 8879  Progress: 5492 on 8879  Progress: 5493 on 8879  Progress: 5494 on 8879  Progress: 5495 on 8879  Progress: 5496 on 8879  Progress: 5497 on 8879  Progress: 5498 on 8879  Progress: 5499 on 8879  Progress: 5500 on 8879  Progress: 5501 on 8879  Progress: 5502 on 8879  Progress: 5503 on 8879  Progress: 5504 on 8879  Progress: 5505 on 8879  Progress: 5506 on 8879  Progress: 5507 on 8879  Progress: 5508 on 8879  Progress: 5509 on 8879  Progress: 5510 on 8879  Progress: 5511 on 8879  Progress: 5512 on 8879  Progress: 5513 on 8879  Progress: 5514 on 8879  Progress: 5515 on 8879  Progress: 5516 on 8879  Progress: 5517 on 8879  Progress: 5518 on 8879  Progress: 5519 on 8879  Progress: 5520 on 8879  Progress: 5521 on 8879  Progress: 5522 on 8879  Progress: 5523 on 8879  Progress: 5524 on 8879  Progress: 5525 on 8879  Progress: 5526 on 8879  Progress: 5527 on 8879  Progress: 5528 on 8879  Progress: 5529 on 8879  Progress: 5530 on 8879  Progress: 5531 on 8879  Progress: 5532 on 8879  Progress: 5533 on 8879  Progress: 5534 on 8879  Progress: 5535 on 8879  Progress: 5536 on 8879  Progress: 5537 on 8879  Progress: 5538 on 8879  Progress: 5539 on 8879  Progress: 5540 on 8879  Progress: 5541 on 8879  Progress: 5542 on 8879  Progress: 5543 on 8879  Progress: 5544 on 8879  Progress: 5545 on 8879  Progress: 5546 on 8879  Progress: 5547 on 8879  Progress: 5548 on 8879  Progress: 5549 on 8879  Progress: 5550 on 8879  Progress: 5551 on 8879  Progress: 5552 on 8879  Progress: 5553 on 8879  Progress: 5554 on 8879  Progress: 5555 on 8879  Progress: 5556 on 8879  Progress: 5557 on 8879  Progress: 5558 on 8879  Progress: 5559 on 8879  Progress: 5560 on 8879  Progress: 5561 on 8879  Progress: 5562 on 8879  Progress: 5563 on 8879  Progress: 5564 on 8879  Progress: 5565 on 8879  Progress: 5566 on 8879  Progress: 5567 on 8879  Progress: 5568 on 8879  Progress: 5569 on 8879  Progress: 5570 on 8879  Progress: 5571 on 8879  Progress: 5572 on 8879  Progress: 5573 on 8879  Progress: 5574 on 8879  Progress: 5575 on 8879  Progress: 5576 on 8879  Progress: 5577 on 8879  Progress: 5578 on 8879  Progress: 5579 on 8879  Progress: 5580 on 8879  Progress: 5581 on 8879  Progress: 5582 on 8879  Progress: 5583 on 8879  Progress: 5584 on 8879  Progress: 5585 on 8879  Progress: 5586 on 8879  Progress: 5587 on 8879  Progress: 5588 on 8879  Progress: 5589 on 8879  Progress: 5590 on 8879  Progress: 5591 on 8879  Progress: 5592 on 8879  Progress: 5593 on 8879  Progress: 5594 on 8879  Progress: 5595 on 8879  Progress: 5596 on 8879  Progress: 5597 on 8879  Progress: 5598 on 8879  Progress: 5599 on 8879  Progress: 5600 on 8879  Progress: 5601 on 8879  Progress: 5602 on 8879  Progress: 5603 on 8879  Progress: 5604 on 8879  Progress: 5605 on 8879  Progress: 5606 on 8879  Progress: 5607 on 8879  Progress: 5608 on 8879  Progress: 5609 on 8879  Progress: 5610 on 8879  Progress: 5611 on 8879  Progress: 5612 on 8879  Progress: 5613 on 8879  Progress: 5614 on 8879  Progress: 5615 on 8879  Progress: 5616 on 8879  Progress: 5617 on 8879  Progress: 5618 on 8879  Progress: 5619 on 8879  Progress: 5620 on 8879  Progress: 5621 on 8879  Progress: 5622 on 8879  Progress: 5623 on 8879  Progress: 5624 on 8879  Progress: 5625 on 8879  Progress: 5626 on 8879  Progress: 5627 on 8879  Progress: 5628 on 8879  Progress: 5629 on 8879  Progress: 5630 on 8879  Progress: 5631 on 8879  Progress: 5632 on 8879  Progress: 5633 on 8879  Progress: 5634 on 8879  Progress: 5635 on 8879  Progress: 5636 on 8879  Progress: 5637 on 8879  Progress: 5638 on 8879  Progress: 5639 on 8879  Progress: 5640 on 8879  Progress: 5641 on 8879  Progress: 5642 on 8879  Progress: 5643 on 8879  Progress: 5644 on 8879  Progress: 5645 on 8879  Progress: 5646 on 8879  Progress: 5647 on 8879  Progress: 5648 on 8879  Progress: 5649 on 8879  Progress: 5650 on 8879  Progress: 5651 on 8879  Progress: 5652 on 8879  Progress: 5653 on 8879  Progress: 5654 on 8879  Progress: 5655 on 8879  Progress: 5656 on 8879  Progress: 5657 on 8879  Progress: 5658 on 8879  Progress: 5659 on 8879  Progress: 5660 on 8879  Progress: 5661 on 8879  Progress: 5662 on 8879  Progress: 5663 on 8879  Progress: 5664 on 8879  Progress: 5665 on 8879  Progress: 5666 on 8879  Progress: 5667 on 8879  Progress: 5668 on 8879  Progress: 5669 on 8879  Progress: 5670 on 8879  Progress: 5671 on 8879  Progress: 5672 on 8879  Progress: 5673 on 8879  Progress: 5674 on 8879  Progress: 5675 on 8879  Progress: 5676 on 8879  Progress: 5677 on 8879  Progress: 5678 on 8879  Progress: 5679 on 8879  Progress: 5680 on 8879  Progress: 5681 on 8879  Progress: 5682 on 8879  Progress: 5683 on 8879  Progress: 5684 on 8879  Progress: 5685 on 8879  Progress: 5686 on 8879  Progress: 5687 on 8879  Progress: 5688 on 8879  Progress: 5689 on 8879  Progress: 5690 on 8879  Progress: 5691 on 8879  Progress: 5692 on 8879  Progress: 5693 on 8879  Progress: 5694 on 8879  Progress: 5695 on 8879  Progress: 5696 on 8879  Progress: 5697 on 8879  Progress: 5698 on 8879  Progress: 5699 on 8879  Progress: 5700 on 8879  Progress: 5701 on 8879  Progress: 5702 on 8879  Progress: 5703 on 8879  Progress: 5704 on 8879  Progress: 5705 on 8879  Progress: 5706 on 8879  Progress: 5707 on 8879  Progress: 5708 on 8879  Progress: 5709 on 8879  Progress: 5710 on 8879  Progress: 5711 on 8879  Progress: 5712 on 8879  Progress: 5713 on 8879  Progress: 5714 on 8879  Progress: 5715 on 8879  Progress: 5716 on 8879  Progress: 5717 on 8879  Progress: 5718 on 8879  Progress: 5719 on 8879  Progress: 5720 on 8879  Progress: 5721 on 8879  Progress: 5722 on 8879  Progress: 5723 on 8879  Progress: 5724 on 8879  Progress: 5725 on 8879  Progress: 5726 on 8879  Progress: 5727 on 8879  Progress: 5728 on 8879  Progress: 5729 on 8879  Progress: 5730 on 8879  Progress: 5731 on 8879  Progress: 5732 on 8879  Progress: 5733 on 8879  Progress: 5734 on 8879  Progress: 5735 on 8879  Progress: 5736 on 8879  Progress: 5737 on 8879  Progress: 5738 on 8879  Progress: 5739 on 8879  Progress: 5740 on 8879  Progress: 5741 on 8879  Progress: 5742 on 8879  Progress: 5743 on 8879  Progress: 5744 on 8879  Progress: 5745 on 8879  Progress: 5746 on 8879  Progress: 5747 on 8879  Progress: 5748 on 8879  Progress: 5749 on 8879  Progress: 5750 on 8879  Progress: 5751 on 8879  Progress: 5752 on 8879  Progress: 5753 on 8879  Progress: 5754 on 8879  Progress: 5755 on 8879  Progress: 5756 on 8879  Progress: 5757 on 8879  Progress: 5758 on 8879  Progress: 5759 on 8879  Progress: 5760 on 8879  Progress: 5761 on 8879  Progress: 5762 on 8879  Progress: 5763 on 8879  Progress: 5764 on 8879  Progress: 5765 on 8879  Progress: 5766 on 8879  Progress: 5767 on 8879  Progress: 5768 on 8879  Progress: 5769 on 8879  Progress: 5770 on 8879  Progress: 5771 on 8879  Progress: 5772 on 8879  Progress: 5773 on 8879  Progress: 5774 on 8879  Progress: 5775 on 8879  Progress: 5776 on 8879  Progress: 5777 on 8879  Progress: 5778 on 8879  Progress: 5779 on 8879  Progress: 5780 on 8879  Progress: 5781 on 8879  Progress: 5782 on 8879  Progress: 5783 on 8879  Progress: 5784 on 8879  Progress: 5785 on 8879  Progress: 5786 on 8879  Progress: 5787 on 8879  Progress: 5788 on 8879  Progress: 5789 on 8879  Progress: 5790 on 8879  Progress: 5791 on 8879  Progress: 5792 on 8879  Progress: 5793 on 8879  Progress: 5794 on 8879  Progress: 5795 on 8879  Progress: 5796 on 8879  Progress: 5797 on 8879  Progress: 5798 on 8879  Progress: 5799 on 8879  Progress: 5800 on 8879  Progress: 5801 on 8879  Progress: 5802 on 8879  Progress: 5803 on 8879  Progress: 5804 on 8879  Progress: 5805 on 8879  Progress: 5806 on 8879  Progress: 5807 on 8879  Progress: 5808 on 8879  Progress: 5809 on 8879  Progress: 5810 on 8879  Progress: 5811 on 8879  Progress: 5812 on 8879  Progress: 5813 on 8879  Progress: 5814 on 8879  Progress: 5815 on 8879  Progress: 5816 on 8879  Progress: 5817 on 8879  Progress: 5818 on 8879  Progress: 5819 on 8879  Progress: 5820 on 8879  Progress: 5821 on 8879  Progress: 5822 on 8879  Progress: 5823 on 8879  Progress: 5824 on 8879  Progress: 5825 on 8879  Progress: 5826 on 8879  Progress: 5827 on 8879  Progress: 5828 on 8879  Progress: 5829 on 8879  Progress: 5830 on 8879  Progress: 5831 on 8879  Progress: 5832 on 8879  Progress: 5833 on 8879  Progress: 5834 on 8879  Progress: 5835 on 8879  Progress: 5836 on 8879  Progress: 5837 on 8879  Progress: 5838 on 8879  Progress: 5839 on 8879  Progress: 5840 on 8879  Progress: 5841 on 8879  Progress: 5842 on 8879  Progress: 5843 on 8879  Progress: 5844 on 8879  Progress: 5845 on 8879  Progress: 5846 on 8879  Progress: 5847 on 8879  Progress: 5848 on 8879  Progress: 5849 on 8879  Progress: 5850 on 8879  Progress: 5851 on 8879  Progress: 5852 on 8879  Progress: 5853 on 8879  Progress: 5854 on 8879  Progress: 5855 on 8879  Progress: 5856 on 8879  Progress: 5857 on 8879  Progress: 5858 on 8879  Progress: 5859 on 8879  Progress: 5860 on 8879  Progress: 5861 on 8879  Progress: 5862 on 8879  Progress: 5863 on 8879  Progress: 5864 on 8879  Progress: 5865 on 8879  Progress: 5866 on 8879  Progress: 5867 on 8879  Progress: 5868 on 8879  Progress: 5869 on 8879  Progress: 5870 on 8879  Progress: 5871 on 8879  Progress: 5872 on 8879  Progress: 5873 on 8879  Progress: 5874 on 8879  Progress: 5875 on 8879  Progress: 5876 on 8879  Progress: 5877 on 8879  Progress: 5878 on 8879  Progress: 5879 on 8879  Progress: 5880 on 8879  Progress: 5881 on 8879  Progress: 5882 on 8879  Progress: 5883 on 8879  Progress: 5884 on 8879  Progress: 5885 on 8879  Progress: 5886 on 8879  Progress: 5887 on 8879  Progress: 5888 on 8879  Progress: 5889 on 8879  Progress: 5890 on 8879  Progress: 5891 on 8879  Progress: 5892 on 8879  Progress: 5893 on 8879  Progress: 5894 on 8879  Progress: 5895 on 8879  Progress: 5896 on 8879  Progress: 5897 on 8879  Progress: 5898 on 8879  Progress: 5899 on 8879  Progress: 5900 on 8879  Progress: 5901 on 8879  Progress: 5902 on 8879  Progress: 5903 on 8879  Progress: 5904 on 8879  Progress: 5905 on 8879  Progress: 5906 on 8879  Progress: 5907 on 8879  Progress: 5908 on 8879  Progress: 5909 on 8879  Progress: 5910 on 8879  Progress: 5911 on 8879  Progress: 5912 on 8879  Progress: 5913 on 8879  Progress: 5914 on 8879  Progress: 5915 on 8879  Progress: 5916 on 8879  Progress: 5917 on 8879  Progress: 5918 on 8879  Progress: 5919 on 8879  Progress: 5920 on 8879  Progress: 5921 on 8879  Progress: 5922 on 8879  Progress: 5923 on 8879  Progress: 5924 on 8879  Progress: 5925 on 8879  Progress: 5926 on 8879  Progress: 5927 on 8879  Progress: 5928 on 8879  Progress: 5929 on 8879  Progress: 5930 on 8879  Progress: 5931 on 8879  Progress: 5932 on 8879  Progress: 5933 on 8879  Progress: 5934 on 8879  Progress: 5935 on 8879  Progress: 5936 on 8879  Progress: 5937 on 8879  Progress: 5938 on 8879  Progress: 5939 on 8879  Progress: 5940 on 8879  Progress: 5941 on 8879  Progress: 5942 on 8879  Progress: 5943 on 8879  Progress: 5944 on 8879  Progress: 5945 on 8879  Progress: 5946 on 8879  Progress: 5947 on 8879  Progress: 5948 on 8879  Progress: 5949 on 8879  Progress: 5950 on 8879  Progress: 5951 on 8879  Progress: 5952 on 8879  Progress: 5953 on 8879  Progress: 5954 on 8879  Progress: 5955 on 8879  Progress: 5956 on 8879  Progress: 5957 on 8879  Progress: 5958 on 8879  Progress: 5959 on 8879  Progress: 5960 on 8879  Progress: 5961 on 8879  Progress: 5962 on 8879  Progress: 5963 on 8879  Progress: 5964 on 8879  Progress: 5965 on 8879  Progress: 5966 on 8879  Progress: 5967 on 8879  Progress: 5968 on 8879  Progress: 5969 on 8879  Progress: 5970 on 8879  Progress: 5971 on 8879  Progress: 5972 on 8879  Progress: 5973 on 8879  Progress: 5974 on 8879  Progress: 5975 on 8879  Progress: 5976 on 8879  Progress: 5977 on 8879  Progress: 5978 on 8879  Progress: 5979 on 8879  Progress: 5980 on 8879  Progress: 5981 on 8879  Progress: 5982 on 8879  Progress: 5983 on 8879  Progress: 5984 on 8879  Progress: 5985 on 8879  Progress: 5986 on 8879  Progress: 5987 on 8879  Progress: 5988 on 8879  Progress: 5989 on 8879  Progress: 5990 on 8879  Progress: 5991 on 8879  Progress: 5992 on 8879  Progress: 5993 on 8879  Progress: 5994 on 8879  Progress: 5995 on 8879  Progress: 5996 on 8879  Progress: 5997 on 8879  Progress: 5998 on 8879  Progress: 5999 on 8879  Progress: 6000 on 8879  Progress: 6001 on 8879  Progress: 6002 on 8879  Progress: 6003 on 8879  Progress: 6004 on 8879  Progress: 6005 on 8879  Progress: 6006 on 8879  Progress: 6007 on 8879  Progress: 6008 on 8879  Progress: 6009 on 8879  Progress: 6010 on 8879  Progress: 6011 on 8879  Progress: 6012 on 8879  Progress: 6013 on 8879  Progress: 6014 on 8879  Progress: 6015 on 8879  Progress: 6016 on 8879  Progress: 6017 on 8879  Progress: 6018 on 8879  Progress: 6019 on 8879  Progress: 6020 on 8879  Progress: 6021 on 8879  Progress: 6022 on 8879  Progress: 6023 on 8879  Progress: 6024 on 8879  Progress: 6025 on 8879  Progress: 6026 on 8879  Progress: 6027 on 8879  Progress: 6028 on 8879  Progress: 6029 on 8879  Progress: 6030 on 8879  Progress: 6031 on 8879  Progress: 6032 on 8879  Progress: 6033 on 8879  Progress: 6034 on 8879  Progress: 6035 on 8879  Progress: 6036 on 8879  Progress: 6037 on 8879  Progress: 6038 on 8879  Progress: 6039 on 8879  Progress: 6040 on 8879  Progress: 6041 on 8879  Progress: 6042 on 8879  Progress: 6043 on 8879  Progress: 6044 on 8879  Progress: 6045 on 8879  Progress: 6046 on 8879  Progress: 6047 on 8879  Progress: 6048 on 8879  Progress: 6049 on 8879  Progress: 6050 on 8879  Progress: 6051 on 8879  Progress: 6052 on 8879  Progress: 6053 on 8879  Progress: 6054 on 8879  Progress: 6055 on 8879  Progress: 6056 on 8879  Progress: 6057 on 8879  Progress: 6058 on 8879  Progress: 6059 on 8879  Progress: 6060 on 8879  Progress: 6061 on 8879  Progress: 6062 on 8879  Progress: 6063 on 8879  Progress: 6064 on 8879  Progress: 6065 on 8879  Progress: 6066 on 8879  Progress: 6067 on 8879  Progress: 6068 on 8879  Progress: 6069 on 8879  Progress: 6070 on 8879  Progress: 6071 on 8879  Progress: 6072 on 8879  Progress: 6073 on 8879  Progress: 6074 on 8879  Progress: 6075 on 8879  Progress: 6076 on 8879  Progress: 6077 on 8879  Progress: 6078 on 8879  Progress: 6079 on 8879  Progress: 6080 on 8879  Progress: 6081 on 8879  Progress: 6082 on 8879  Progress: 6083 on 8879  Progress: 6084 on 8879  Progress: 6085 on 8879  Progress: 6086 on 8879  Progress: 6087 on 8879  Progress: 6088 on 8879  Progress: 6089 on 8879  Progress: 6090 on 8879  Progress: 6091 on 8879  Progress: 6092 on 8879  Progress: 6093 on 8879  Progress: 6094 on 8879  Progress: 6095 on 8879  Progress: 6096 on 8879  Progress: 6097 on 8879  Progress: 6098 on 8879  Progress: 6099 on 8879  Progress: 6100 on 8879  Progress: 6101 on 8879  Progress: 6102 on 8879  Progress: 6103 on 8879  Progress: 6104 on 8879  Progress: 6105 on 8879  Progress: 6106 on 8879  Progress: 6107 on 8879  Progress: 6108 on 8879  Progress: 6109 on 8879  Progress: 6110 on 8879  Progress: 6111 on 8879  Progress: 6112 on 8879  Progress: 6113 on 8879  Progress: 6114 on 8879  Progress: 6115 on 8879  Progress: 6116 on 8879  Progress: 6117 on 8879  Progress: 6118 on 8879  Progress: 6119 on 8879  Progress: 6120 on 8879  Progress: 6121 on 8879  Progress: 6122 on 8879  Progress: 6123 on 8879  Progress: 6124 on 8879  Progress: 6125 on 8879  Progress: 6126 on 8879  Progress: 6127 on 8879  Progress: 6128 on 8879  Progress: 6129 on 8879  Progress: 6130 on 8879  Progress: 6131 on 8879  Progress: 6132 on 8879  Progress: 6133 on 8879  Progress: 6134 on 8879  Progress: 6135 on 8879  Progress: 6136 on 8879  Progress: 6137 on 8879  Progress: 6138 on 8879  Progress: 6139 on 8879  Progress: 6140 on 8879  Progress: 6141 on 8879  Progress: 6142 on 8879  Progress: 6143 on 8879  Progress: 6144 on 8879  Progress: 6145 on 8879  Progress: 6146 on 8879  Progress: 6147 on 8879  Progress: 6148 on 8879  Progress: 6149 on 8879  Progress: 6150 on 8879  Progress: 6151 on 8879  Progress: 6152 on 8879  Progress: 6153 on 8879  Progress: 6154 on 8879  Progress: 6155 on 8879  Progress: 6156 on 8879  Progress: 6157 on 8879  Progress: 6158 on 8879  Progress: 6159 on 8879  Progress: 6160 on 8879  Progress: 6161 on 8879  Progress: 6162 on 8879  Progress: 6163 on 8879  Progress: 6164 on 8879  Progress: 6165 on 8879  Progress: 6166 on 8879  Progress: 6167 on 8879  Progress: 6168 on 8879  Progress: 6169 on 8879  Progress: 6170 on 8879  Progress: 6171 on 8879  Progress: 6172 on 8879  Progress: 6173 on 8879  Progress: 6174 on 8879  Progress: 6175 on 8879  Progress: 6176 on 8879  Progress: 6177 on 8879  Progress: 6178 on 8879  Progress: 6179 on 8879  Progress: 6180 on 8879  Progress: 6181 on 8879  Progress: 6182 on 8879  Progress: 6183 on 8879  Progress: 6184 on 8879  Progress: 6185 on 8879  Progress: 6186 on 8879  Progress: 6187 on 8879  Progress: 6188 on 8879  Progress: 6189 on 8879  Progress: 6190 on 8879  Progress: 6191 on 8879  Progress: 6192 on 8879  Progress: 6193 on 8879  Progress: 6194 on 8879  Progress: 6195 on 8879  Progress: 6196 on 8879  Progress: 6197 on 8879  Progress: 6198 on 8879  Progress: 6199 on 8879  Progress: 6200 on 8879  Progress: 6201 on 8879  Progress: 6202 on 8879  Progress: 6203 on 8879  Progress: 6204 on 8879  Progress: 6205 on 8879  Progress: 6206 on 8879  Progress: 6207 on 8879  Progress: 6208 on 8879  Progress: 6209 on 8879  Progress: 6210 on 8879  Progress: 6211 on 8879  Progress: 6212 on 8879  Progress: 6213 on 8879  Progress: 6214 on 8879  Progress: 6215 on 8879  Progress: 6216 on 8879  Progress: 6217 on 8879  Progress: 6218 on 8879  Progress: 6219 on 8879  Progress: 6220 on 8879  Progress: 6221 on 8879  Progress: 6222 on 8879  Progress: 6223 on 8879  Progress: 6224 on 8879  Progress: 6225 on 8879  Progress: 6226 on 8879  Progress: 6227 on 8879  Progress: 6228 on 8879  Progress: 6229 on 8879  Progress: 6230 on 8879  Progress: 6231 on 8879  Progress: 6232 on 8879  Progress: 6233 on 8879  Progress: 6234 on 8879  Progress: 6235 on 8879  Progress: 6236 on 8879  Progress: 6237 on 8879  Progress: 6238 on 8879  Progress: 6239 on 8879  Progress: 6240 on 8879  Progress: 6241 on 8879  Progress: 6242 on 8879  Progress: 6243 on 8879  Progress: 6244 on 8879  Progress: 6245 on 8879  Progress: 6246 on 8879  Progress: 6247 on 8879  Progress: 6248 on 8879  Progress: 6249 on 8879  Progress: 6250 on 8879  Progress: 6251 on 8879  Progress: 6252 on 8879  Progress: 6253 on 8879  Progress: 6254 on 8879  Progress: 6255 on 8879  Progress: 6256 on 8879  Progress: 6257 on 8879  Progress: 6258 on 8879  Progress: 6259 on 8879  Progress: 6260 on 8879  Progress: 6261 on 8879  Progress: 6262 on 8879  Progress: 6263 on 8879  Progress: 6264 on 8879  Progress: 6265 on 8879  Progress: 6266 on 8879  Progress: 6267 on 8879  Progress: 6268 on 8879  Progress: 6269 on 8879  Progress: 6270 on 8879  Progress: 6271 on 8879  Progress: 6272 on 8879  Progress: 6273 on 8879  Progress: 6274 on 8879  Progress: 6275 on 8879  Progress: 6276 on 8879  Progress: 6277 on 8879  Progress: 6278 on 8879  Progress: 6279 on 8879  Progress: 6280 on 8879  Progress: 6281 on 8879  Progress: 6282 on 8879  Progress: 6283 on 8879  Progress: 6284 on 8879  Progress: 6285 on 8879  Progress: 6286 on 8879  Progress: 6287 on 8879  Progress: 6288 on 8879  Progress: 6289 on 8879  Progress: 6290 on 8879  Progress: 6291 on 8879  Progress: 6292 on 8879  Progress: 6293 on 8879  Progress: 6294 on 8879  Progress: 6295 on 8879  Progress: 6296 on 8879  Progress: 6297 on 8879  Progress: 6298 on 8879  Progress: 6299 on 8879  Progress: 6300 on 8879  Progress: 6301 on 8879  Progress: 6302 on 8879  Progress: 6303 on 8879  Progress: 6304 on 8879  Progress: 6305 on 8879  Progress: 6306 on 8879  Progress: 6307 on 8879  Progress: 6308 on 8879  Progress: 6309 on 8879  Progress: 6310 on 8879  Progress: 6311 on 8879  Progress: 6312 on 8879  Progress: 6313 on 8879  Progress: 6314 on 8879  Progress: 6315 on 8879  Progress: 6316 on 8879  Progress: 6317 on 8879  Progress: 6318 on 8879  Progress: 6319 on 8879  Progress: 6320 on 8879  Progress: 6321 on 8879  Progress: 6322 on 8879  Progress: 6323 on 8879  Progress: 6324 on 8879  Progress: 6325 on 8879  Progress: 6326 on 8879  Progress: 6327 on 8879  Progress: 6328 on 8879  Progress: 6329 on 8879  Progress: 6330 on 8879  Progress: 6331 on 8879  Progress: 6332 on 8879  Progress: 6333 on 8879  Progress: 6334 on 8879  Progress: 6335 on 8879  Progress: 6336 on 8879  Progress: 6337 on 8879  Progress: 6338 on 8879  Progress: 6339 on 8879  Progress: 6340 on 8879  Progress: 6341 on 8879  Progress: 6342 on 8879  Progress: 6343 on 8879  Progress: 6344 on 8879  Progress: 6345 on 8879  Progress: 6346 on 8879  Progress: 6347 on 8879  Progress: 6348 on 8879  Progress: 6349 on 8879  Progress: 6350 on 8879  Progress: 6351 on 8879  Progress: 6352 on 8879  Progress: 6353 on 8879  Progress: 6354 on 8879  Progress: 6355 on 8879  Progress: 6356 on 8879  Progress: 6357 on 8879  Progress: 6358 on 8879  Progress: 6359 on 8879  Progress: 6360 on 8879  Progress: 6361 on 8879  Progress: 6362 on 8879  Progress: 6363 on 8879  Progress: 6364 on 8879  Progress: 6365 on 8879  Progress: 6366 on 8879  Progress: 6367 on 8879  Progress: 6368 on 8879  Progress: 6369 on 8879  Progress: 6370 on 8879  Progress: 6371 on 8879  Progress: 6372 on 8879  Progress: 6373 on 8879  Progress: 6374 on 8879  Progress: 6375 on 8879  Progress: 6376 on 8879  Progress: 6377 on 8879  Progress: 6378 on 8879  Progress: 6379 on 8879  Progress: 6380 on 8879  Progress: 6381 on 8879  Progress: 6382 on 8879  Progress: 6383 on 8879  Progress: 6384 on 8879  Progress: 6385 on 8879  Progress: 6386 on 8879  Progress: 6387 on 8879  Progress: 6388 on 8879  Progress: 6389 on 8879  Progress: 6390 on 8879  Progress: 6391 on 8879  Progress: 6392 on 8879  Progress: 6393 on 8879  Progress: 6394 on 8879  Progress: 6395 on 8879  Progress: 6396 on 8879  Progress: 6397 on 8879  Progress: 6398 on 8879  Progress: 6399 on 8879  Progress: 6400 on 8879  Progress: 6401 on 8879  Progress: 6402 on 8879  Progress: 6403 on 8879  Progress: 6404 on 8879  Progress: 6405 on 8879  Progress: 6406 on 8879  Progress: 6407 on 8879  Progress: 6408 on 8879  Progress: 6409 on 8879  Progress: 6410 on 8879  Progress: 6411 on 8879  Progress: 6412 on 8879  Progress: 6413 on 8879  Progress: 6414 on 8879  Progress: 6415 on 8879  Progress: 6416 on 8879  Progress: 6417 on 8879  Progress: 6418 on 8879  Progress: 6419 on 8879  Progress: 6420 on 8879  Progress: 6421 on 8879  Progress: 6422 on 8879  Progress: 6423 on 8879  Progress: 6424 on 8879  Progress: 6425 on 8879  Progress: 6426 on 8879  Progress: 6427 on 8879  Progress: 6428 on 8879  Progress: 6429 on 8879  Progress: 6430 on 8879  Progress: 6431 on 8879  Progress: 6432 on 8879  Progress: 6433 on 8879  Progress: 6434 on 8879  Progress: 6435 on 8879  Progress: 6436 on 8879  Progress: 6437 on 8879  Progress: 6438 on 8879  Progress: 6439 on 8879  Progress: 6440 on 8879  Progress: 6441 on 8879  Progress: 6442 on 8879  Progress: 6443 on 8879  Progress: 6444 on 8879  Progress: 6445 on 8879  Progress: 6446 on 8879  Progress: 6447 on 8879  Progress: 6448 on 8879  Progress: 6449 on 8879  Progress: 6450 on 8879  Progress: 6451 on 8879  Progress: 6452 on 8879  Progress: 6453 on 8879  Progress: 6454 on 8879  Progress: 6455 on 8879  Progress: 6456 on 8879  Progress: 6457 on 8879  Progress: 6458 on 8879  Progress: 6459 on 8879  Progress: 6460 on 8879  Progress: 6461 on 8879  Progress: 6462 on 8879  Progress: 6463 on 8879  Progress: 6464 on 8879  Progress: 6465 on 8879  Progress: 6466 on 8879  Progress: 6467 on 8879  Progress: 6468 on 8879  Progress: 6469 on 8879  Progress: 6470 on 8879  Progress: 6471 on 8879  Progress: 6472 on 8879  Progress: 6473 on 8879  Progress: 6474 on 8879  Progress: 6475 on 8879  Progress: 6476 on 8879  Progress: 6477 on 8879  Progress: 6478 on 8879  Progress: 6479 on 8879  Progress: 6480 on 8879  Progress: 6481 on 8879  Progress: 6482 on 8879  Progress: 6483 on 8879  Progress: 6484 on 8879  Progress: 6485 on 8879  Progress: 6486 on 8879  Progress: 6487 on 8879  Progress: 6488 on 8879  Progress: 6489 on 8879  Progress: 6490 on 8879  Progress: 6491 on 8879  Progress: 6492 on 8879  Progress: 6493 on 8879  Progress: 6494 on 8879  Progress: 6495 on 8879  Progress: 6496 on 8879  Progress: 6497 on 8879  Progress: 6498 on 8879  Progress: 6499 on 8879  Progress: 6500 on 8879  Progress: 6501 on 8879  Progress: 6502 on 8879  Progress: 6503 on 8879  Progress: 6504 on 8879  Progress: 6505 on 8879  Progress: 6506 on 8879  Progress: 6507 on 8879  Progress: 6508 on 8879  Progress: 6509 on 8879  Progress: 6510 on 8879  Progress: 6511 on 8879  Progress: 6512 on 8879  Progress: 6513 on 8879  Progress: 6514 on 8879  Progress: 6515 on 8879  Progress: 6516 on 8879  Progress: 6517 on 8879  Progress: 6518 on 8879  Progress: 6519 on 8879  Progress: 6520 on 8879  Progress: 6521 on 8879  Progress: 6522 on 8879  Progress: 6523 on 8879  Progress: 6524 on 8879  Progress: 6525 on 8879  Progress: 6526 on 8879  Progress: 6527 on 8879  Progress: 6528 on 8879  Progress: 6529 on 8879  Progress: 6530 on 8879  Progress: 6531 on 8879  Progress: 6532 on 8879  Progress: 6533 on 8879  Progress: 6534 on 8879  Progress: 6535 on 8879  Progress: 6536 on 8879  Progress: 6537 on 8879  Progress: 6538 on 8879  Progress: 6539 on 8879  Progress: 6540 on 8879  Progress: 6541 on 8879  Progress: 6542 on 8879  Progress: 6543 on 8879  Progress: 6544 on 8879  Progress: 6545 on 8879  Progress: 6546 on 8879  Progress: 6547 on 8879  Progress: 6548 on 8879  Progress: 6549 on 8879  Progress: 6550 on 8879  Progress: 6551 on 8879  Progress: 6552 on 8879  Progress: 6553 on 8879  Progress: 6554 on 8879  Progress: 6555 on 8879  Progress: 6556 on 8879  Progress: 6557 on 8879  Progress: 6558 on 8879  Progress: 6559 on 8879  Progress: 6560 on 8879  Progress: 6561 on 8879  Progress: 6562 on 8879  Progress: 6563 on 8879  Progress: 6564 on 8879  Progress: 6565 on 8879  Progress: 6566 on 8879  Progress: 6567 on 8879  Progress: 6568 on 8879  Progress: 6569 on 8879  Progress: 6570 on 8879  Progress: 6571 on 8879  Progress: 6572 on 8879  Progress: 6573 on 8879  Progress: 6574 on 8879  Progress: 6575 on 8879  Progress: 6576 on 8879  Progress: 6577 on 8879  Progress: 6578 on 8879  Progress: 6579 on 8879  Progress: 6580 on 8879  Progress: 6581 on 8879  Progress: 6582 on 8879  Progress: 6583 on 8879  Progress: 6584 on 8879  Progress: 6585 on 8879  Progress: 6586 on 8879  Progress: 6587 on 8879  Progress: 6588 on 8879  Progress: 6589 on 8879  Progress: 6590 on 8879  Progress: 6591 on 8879  Progress: 6592 on 8879  Progress: 6593 on 8879  Progress: 6594 on 8879  Progress: 6595 on 8879  Progress: 6596 on 8879  Progress: 6597 on 8879  Progress: 6598 on 8879  Progress: 6599 on 8879  Progress: 6600 on 8879  Progress: 6601 on 8879  Progress: 6602 on 8879  Progress: 6603 on 8879  Progress: 6604 on 8879  Progress: 6605 on 8879  Progress: 6606 on 8879  Progress: 6607 on 8879  Progress: 6608 on 8879  Progress: 6609 on 8879  Progress: 6610 on 8879  Progress: 6611 on 8879  Progress: 6612 on 8879  Progress: 6613 on 8879  Progress: 6614 on 8879  Progress: 6615 on 8879  Progress: 6616 on 8879  Progress: 6617 on 8879  Progress: 6618 on 8879  Progress: 6619 on 8879  Progress: 6620 on 8879  Progress: 6621 on 8879  Progress: 6622 on 8879  Progress: 6623 on 8879  Progress: 6624 on 8879  Progress: 6625 on 8879  Progress: 6626 on 8879  Progress: 6627 on 8879  Progress: 6628 on 8879  Progress: 6629 on 8879  Progress: 6630 on 8879  Progress: 6631 on 8879  Progress: 6632 on 8879  Progress: 6633 on 8879  Progress: 6634 on 8879  Progress: 6635 on 8879  Progress: 6636 on 8879  Progress: 6637 on 8879  Progress: 6638 on 8879  Progress: 6639 on 8879  Progress: 6640 on 8879  Progress: 6641 on 8879  Progress: 6642 on 8879  Progress: 6643 on 8879  Progress: 6644 on 8879  Progress: 6645 on 8879  Progress: 6646 on 8879  Progress: 6647 on 8879  Progress: 6648 on 8879  Progress: 6649 on 8879  Progress: 6650 on 8879  Progress: 6651 on 8879  Progress: 6652 on 8879  Progress: 6653 on 8879  Progress: 6654 on 8879  Progress: 6655 on 8879  Progress: 6656 on 8879  Progress: 6657 on 8879  Progress: 6658 on 8879  Progress: 6659 on 8879  Progress: 6660 on 8879  Progress: 6661 on 8879  Progress: 6662 on 8879  Progress: 6663 on 8879  Progress: 6664 on 8879  Progress: 6665 on 8879  Progress: 6666 on 8879  Progress: 6667 on 8879  Progress: 6668 on 8879  Progress: 6669 on 8879  Progress: 6670 on 8879  Progress: 6671 on 8879  Progress: 6672 on 8879  Progress: 6673 on 8879  Progress: 6674 on 8879  Progress: 6675 on 8879  Progress: 6676 on 8879  Progress: 6677 on 8879  Progress: 6678 on 8879  Progress: 6679 on 8879  Progress: 6680 on 8879  Progress: 6681 on 8879  Progress: 6682 on 8879  Progress: 6683 on 8879  Progress: 6684 on 8879  Progress: 6685 on 8879  Progress: 6686 on 8879  Progress: 6687 on 8879  Progress: 6688 on 8879  Progress: 6689 on 8879  Progress: 6690 on 8879  Progress: 6691 on 8879  Progress: 6692 on 8879  Progress: 6693 on 8879  Progress: 6694 on 8879  Progress: 6695 on 8879  Progress: 6696 on 8879  Progress: 6697 on 8879  Progress: 6698 on 8879  Progress: 6699 on 8879  Progress: 6700 on 8879  Progress: 6701 on 8879  Progress: 6702 on 8879  Progress: 6703 on 8879  Progress: 6704 on 8879  Progress: 6705 on 8879  Progress: 6706 on 8879  Progress: 6707 on 8879  Progress: 6708 on 8879  Progress: 6709 on 8879  Progress: 6710 on 8879  Progress: 6711 on 8879  Progress: 6712 on 8879  Progress: 6713 on 8879  Progress: 6714 on 8879  Progress: 6715 on 8879  Progress: 6716 on 8879  Progress: 6717 on 8879  Progress: 6718 on 8879  Progress: 6719 on 8879  Progress: 6720 on 8879  Progress: 6721 on 8879  Progress: 6722 on 8879  Progress: 6723 on 8879  Progress: 6724 on 8879  Progress: 6725 on 8879  Progress: 6726 on 8879  Progress: 6727 on 8879  Progress: 6728 on 8879  Progress: 6729 on 8879  Progress: 6730 on 8879  Progress: 6731 on 8879  Progress: 6732 on 8879  Progress: 6733 on 8879  Progress: 6734 on 8879  Progress: 6735 on 8879  Progress: 6736 on 8879  Progress: 6737 on 8879  Progress: 6738 on 8879  Progress: 6739 on 8879  Progress: 6740 on 8879  Progress: 6741 on 8879  Progress: 6742 on 8879  Progress: 6743 on 8879  Progress: 6744 on 8879  Progress: 6745 on 8879  Progress: 6746 on 8879  Progress: 6747 on 8879  Progress: 6748 on 8879  Progress: 6749 on 8879  Progress: 6750 on 8879  Progress: 6751 on 8879  Progress: 6752 on 8879  Progress: 6753 on 8879  Progress: 6754 on 8879  Progress: 6755 on 8879  Progress: 6756 on 8879  Progress: 6757 on 8879  Progress: 6758 on 8879  Progress: 6759 on 8879  Progress: 6760 on 8879  Progress: 6761 on 8879  Progress: 6762 on 8879  Progress: 6763 on 8879  Progress: 6764 on 8879  Progress: 6765 on 8879  Progress: 6766 on 8879  Progress: 6767 on 8879  Progress: 6768 on 8879  Progress: 6769 on 8879  Progress: 6770 on 8879  Progress: 6771 on 8879  Progress: 6772 on 8879  Progress: 6773 on 8879  Progress: 6774 on 8879  Progress: 6775 on 8879  Progress: 6776 on 8879  Progress: 6777 on 8879  Progress: 6778 on 8879  Progress: 6779 on 8879  Progress: 6780 on 8879  Progress: 6781 on 8879  Progress: 6782 on 8879  Progress: 6783 on 8879  Progress: 6784 on 8879  Progress: 6785 on 8879  Progress: 6786 on 8879  Progress: 6787 on 8879  Progress: 6788 on 8879  Progress: 6789 on 8879  Progress: 6790 on 8879  Progress: 6791 on 8879  Progress: 6792 on 8879  Progress: 6793 on 8879  Progress: 6794 on 8879  Progress: 6795 on 8879  Progress: 6796 on 8879  Progress: 6797 on 8879  Progress: 6798 on 8879  Progress: 6799 on 8879  Progress: 6800 on 8879  Progress: 6801 on 8879  Progress: 6802 on 8879  Progress: 6803 on 8879  Progress: 6804 on 8879  Progress: 6805 on 8879  Progress: 6806 on 8879  Progress: 6807 on 8879  Progress: 6808 on 8879  Progress: 6809 on 8879  Progress: 6810 on 8879  Progress: 6811 on 8879  Progress: 6812 on 8879  Progress: 6813 on 8879  Progress: 6814 on 8879  Progress: 6815 on 8879  Progress: 6816 on 8879  Progress: 6817 on 8879  Progress: 6818 on 8879  Progress: 6819 on 8879  Progress: 6820 on 8879  Progress: 6821 on 8879  Progress: 6822 on 8879  Progress: 6823 on 8879  Progress: 6824 on 8879  Progress: 6825 on 8879  Progress: 6826 on 8879  Progress: 6827 on 8879  Progress: 6828 on 8879  Progress: 6829 on 8879  Progress: 6830 on 8879  Progress: 6831 on 8879  Progress: 6832 on 8879  Progress: 6833 on 8879  Progress: 6834 on 8879  Progress: 6835 on 8879  Progress: 6836 on 8879  Progress: 6837 on 8879  Progress: 6838 on 8879  Progress: 6839 on 8879  Progress: 6840 on 8879  Progress: 6841 on 8879  Progress: 6842 on 8879  Progress: 6843 on 8879  Progress: 6844 on 8879  Progress: 6845 on 8879  Progress: 6846 on 8879  Progress: 6847 on 8879  Progress: 6848 on 8879  Progress: 6849 on 8879  Progress: 6850 on 8879  Progress: 6851 on 8879  Progress: 6852 on 8879  Progress: 6853 on 8879  Progress: 6854 on 8879  Progress: 6855 on 8879  Progress: 6856 on 8879  Progress: 6857 on 8879  Progress: 6858 on 8879  Progress: 6859 on 8879  Progress: 6860 on 8879  Progress: 6861 on 8879  Progress: 6862 on 8879  Progress: 6863 on 8879  Progress: 6864 on 8879  Progress: 6865 on 8879  Progress: 6866 on 8879  Progress: 6867 on 8879  Progress: 6868 on 8879  Progress: 6869 on 8879  Progress: 6870 on 8879  Progress: 6871 on 8879  Progress: 6872 on 8879  Progress: 6873 on 8879  Progress: 6874 on 8879  Progress: 6875 on 8879  Progress: 6876 on 8879  Progress: 6877 on 8879  Progress: 6878 on 8879  Progress: 6879 on 8879  Progress: 6880 on 8879  Progress: 6881 on 8879  Progress: 6882 on 8879  Progress: 6883 on 8879  Progress: 6884 on 8879  Progress: 6885 on 8879  Progress: 6886 on 8879  Progress: 6887 on 8879  Progress: 6888 on 8879  Progress: 6889 on 8879  Progress: 6890 on 8879  Progress: 6891 on 8879  Progress: 6892 on 8879  Progress: 6893 on 8879  Progress: 6894 on 8879  Progress: 6895 on 8879  Progress: 6896 on 8879  Progress: 6897 on 8879  Progress: 6898 on 8879  Progress: 6899 on 8879  Progress: 6900 on 8879  Progress: 6901 on 8879  Progress: 6902 on 8879  Progress: 6903 on 8879  Progress: 6904 on 8879  Progress: 6905 on 8879  Progress: 6906 on 8879  Progress: 6907 on 8879  Progress: 6908 on 8879  Progress: 6909 on 8879  Progress: 6910 on 8879  Progress: 6911 on 8879  Progress: 6912 on 8879  Progress: 6913 on 8879  Progress: 6914 on 8879  Progress: 6915 on 8879  Progress: 6916 on 8879  Progress: 6917 on 8879  Progress: 6918 on 8879  Progress: 6919 on 8879  Progress: 6920 on 8879  Progress: 6921 on 8879  Progress: 6922 on 8879  Progress: 6923 on 8879  Progress: 6924 on 8879  Progress: 6925 on 8879  Progress: 6926 on 8879  Progress: 6927 on 8879  Progress: 6928 on 8879  Progress: 6929 on 8879  Progress: 6930 on 8879  Progress: 6931 on 8879  Progress: 6932 on 8879  Progress: 6933 on 8879  Progress: 6934 on 8879  Progress: 6935 on 8879  Progress: 6936 on 8879  Progress: 6937 on 8879  Progress: 6938 on 8879  Progress: 6939 on 8879  Progress: 6940 on 8879  Progress: 6941 on 8879  Progress: 6942 on 8879  Progress: 6943 on 8879  Progress: 6944 on 8879  Progress: 6945 on 8879  Progress: 6946 on 8879  Progress: 6947 on 8879  Progress: 6948 on 8879  Progress: 6949 on 8879  Progress: 6950 on 8879  Progress: 6951 on 8879  Progress: 6952 on 8879  Progress: 6953 on 8879  Progress: 6954 on 8879  Progress: 6955 on 8879  Progress: 6956 on 8879  Progress: 6957 on 8879  Progress: 6958 on 8879  Progress: 6959 on 8879  Progress: 6960 on 8879  Progress: 6961 on 8879  Progress: 6962 on 8879  Progress: 6963 on 8879  Progress: 6964 on 8879  Progress: 6965 on 8879  Progress: 6966 on 8879  Progress: 6967 on 8879  Progress: 6968 on 8879  Progress: 6969 on 8879  Progress: 6970 on 8879  Progress: 6971 on 8879  Progress: 6972 on 8879  Progress: 6973 on 8879  Progress: 6974 on 8879  Progress: 6975 on 8879  Progress: 6976 on 8879  Progress: 6977 on 8879  Progress: 6978 on 8879  Progress: 6979 on 8879  Progress: 6980 on 8879  Progress: 6981 on 8879  Progress: 6982 on 8879  Progress: 6983 on 8879  Progress: 6984 on 8879  Progress: 6985 on 8879  Progress: 6986 on 8879  Progress: 6987 on 8879  Progress: 6988 on 8879  Progress: 6989 on 8879  Progress: 6990 on 8879  Progress: 6991 on 8879  Progress: 6992 on 8879  Progress: 6993 on 8879  Progress: 6994 on 8879  Progress: 6995 on 8879  Progress: 6996 on 8879  Progress: 6997 on 8879  Progress: 6998 on 8879  Progress: 6999 on 8879  Progress: 7000 on 8879  Progress: 7001 on 8879  Progress: 7002 on 8879  Progress: 7003 on 8879  Progress: 7004 on 8879  Progress: 7005 on 8879  Progress: 7006 on 8879  Progress: 7007 on 8879  Progress: 7008 on 8879  Progress: 7009 on 8879  Progress: 7010 on 8879  Progress: 7011 on 8879  Progress: 7012 on 8879  Progress: 7013 on 8879  Progress: 7014 on 8879  Progress: 7015 on 8879  Progress: 7016 on 8879  Progress: 7017 on 8879  Progress: 7018 on 8879  Progress: 7019 on 8879  Progress: 7020 on 8879  Progress: 7021 on 8879  Progress: 7022 on 8879  Progress: 7023 on 8879  Progress: 7024 on 8879  Progress: 7025 on 8879  Progress: 7026 on 8879  Progress: 7027 on 8879  Progress: 7028 on 8879  Progress: 7029 on 8879  Progress: 7030 on 8879  Progress: 7031 on 8879  Progress: 7032 on 8879  Progress: 7033 on 8879  Progress: 7034 on 8879  Progress: 7035 on 8879  Progress: 7036 on 8879  Progress: 7037 on 8879  Progress: 7038 on 8879  Progress: 7039 on 8879  Progress: 7040 on 8879  Progress: 7041 on 8879  Progress: 7042 on 8879  Progress: 7043 on 8879  Progress: 7044 on 8879  Progress: 7045 on 8879  Progress: 7046 on 8879  Progress: 7047 on 8879  Progress: 7048 on 8879  Progress: 7049 on 8879  Progress: 7050 on 8879  Progress: 7051 on 8879  Progress: 7052 on 8879  Progress: 7053 on 8879  Progress: 7054 on 8879  Progress: 7055 on 8879  Progress: 7056 on 8879  Progress: 7057 on 8879  Progress: 7058 on 8879  Progress: 7059 on 8879  Progress: 7060 on 8879  Progress: 7061 on 8879  Progress: 7062 on 8879  Progress: 7063 on 8879  Progress: 7064 on 8879  Progress: 7065 on 8879  Progress: 7066 on 8879  Progress: 7067 on 8879  Progress: 7068 on 8879  Progress: 7069 on 8879  Progress: 7070 on 8879  Progress: 7071 on 8879  Progress: 7072 on 8879  Progress: 7073 on 8879  Progress: 7074 on 8879  Progress: 7075 on 8879  Progress: 7076 on 8879  Progress: 7077 on 8879  Progress: 7078 on 8879  Progress: 7079 on 8879  Progress: 7080 on 8879  Progress: 7081 on 8879  Progress: 7082 on 8879  Progress: 7083 on 8879  Progress: 7084 on 8879  Progress: 7085 on 8879  Progress: 7086 on 8879  Progress: 7087 on 8879  Progress: 7088 on 8879  Progress: 7089 on 8879  Progress: 7090 on 8879  Progress: 7091 on 8879  Progress: 7092 on 8879  Progress: 7093 on 8879  Progress: 7094 on 8879  Progress: 7095 on 8879  Progress: 7096 on 8879  Progress: 7097 on 8879  Progress: 7098 on 8879  Progress: 7099 on 8879  Progress: 7100 on 8879  Progress: 7101 on 8879  Progress: 7102 on 8879  Progress: 7103 on 8879  Progress: 7104 on 8879  Progress: 7105 on 8879  Progress: 7106 on 8879  Progress: 7107 on 8879  Progress: 7108 on 8879  Progress: 7109 on 8879  Progress: 7110 on 8879  Progress: 7111 on 8879  Progress: 7112 on 8879  Progress: 7113 on 8879  Progress: 7114 on 8879  Progress: 7115 on 8879  Progress: 7116 on 8879  Progress: 7117 on 8879  Progress: 7118 on 8879  Progress: 7119 on 8879  Progress: 7120 on 8879  Progress: 7121 on 8879  Progress: 7122 on 8879  Progress: 7123 on 8879  Progress: 7124 on 8879  Progress: 7125 on 8879  Progress: 7126 on 8879  Progress: 7127 on 8879  Progress: 7128 on 8879  Progress: 7129 on 8879  Progress: 7130 on 8879  Progress: 7131 on 8879  Progress: 7132 on 8879  Progress: 7133 on 8879  Progress: 7134 on 8879  Progress: 7135 on 8879  Progress: 7136 on 8879  Progress: 7137 on 8879  Progress: 7138 on 8879  Progress: 7139 on 8879  Progress: 7140 on 8879  Progress: 7141 on 8879  Progress: 7142 on 8879  Progress: 7143 on 8879  Progress: 7144 on 8879  Progress: 7145 on 8879  Progress: 7146 on 8879  Progress: 7147 on 8879  Progress: 7148 on 8879  Progress: 7149 on 8879  Progress: 7150 on 8879  Progress: 7151 on 8879  Progress: 7152 on 8879  Progress: 7153 on 8879  Progress: 7154 on 8879  Progress: 7155 on 8879  Progress: 7156 on 8879  Progress: 7157 on 8879  Progress: 7158 on 8879  Progress: 7159 on 8879  Progress: 7160 on 8879  Progress: 7161 on 8879  Progress: 7162 on 8879  Progress: 7163 on 8879  Progress: 7164 on 8879  Progress: 7165 on 8879  Progress: 7166 on 8879  Progress: 7167 on 8879  Progress: 7168 on 8879  Progress: 7169 on 8879  Progress: 7170 on 8879  Progress: 7171 on 8879  Progress: 7172 on 8879  Progress: 7173 on 8879  Progress: 7174 on 8879  Progress: 7175 on 8879  Progress: 7176 on 8879  Progress: 7177 on 8879  Progress: 7178 on 8879  Progress: 7179 on 8879  Progress: 7180 on 8879  Progress: 7181 on 8879  Progress: 7182 on 8879  Progress: 7183 on 8879  Progress: 7184 on 8879  Progress: 7185 on 8879  Progress: 7186 on 8879  Progress: 7187 on 8879  Progress: 7188 on 8879  Progress: 7189 on 8879  Progress: 7190 on 8879  Progress: 7191 on 8879  Progress: 7192 on 8879  Progress: 7193 on 8879  Progress: 7194 on 8879  Progress: 7195 on 8879  Progress: 7196 on 8879  Progress: 7197 on 8879  Progress: 7198 on 8879  Progress: 7199 on 8879  Progress: 7200 on 8879  Progress: 7201 on 8879  Progress: 7202 on 8879  Progress: 7203 on 8879  Progress: 7204 on 8879  Progress: 7205 on 8879  Progress: 7206 on 8879  Progress: 7207 on 8879  Progress: 7208 on 8879  Progress: 7209 on 8879  Progress: 7210 on 8879  Progress: 7211 on 8879  Progress: 7212 on 8879  Progress: 7213 on 8879  Progress: 7214 on 8879  Progress: 7215 on 8879  Progress: 7216 on 8879  Progress: 7217 on 8879  Progress: 7218 on 8879  Progress: 7219 on 8879  Progress: 7220 on 8879  Progress: 7221 on 8879  Progress: 7222 on 8879  Progress: 7223 on 8879  Progress: 7224 on 8879  Progress: 7225 on 8879  Progress: 7226 on 8879  Progress: 7227 on 8879  Progress: 7228 on 8879  Progress: 7229 on 8879  Progress: 7230 on 8879  Progress: 7231 on 8879  Progress: 7232 on 8879  Progress: 7233 on 8879  Progress: 7234 on 8879  Progress: 7235 on 8879  Progress: 7236 on 8879  Progress: 7237 on 8879  Progress: 7238 on 8879  Progress: 7239 on 8879  Progress: 7240 on 8879  Progress: 7241 on 8879  Progress: 7242 on 8879  Progress: 7243 on 8879  Progress: 7244 on 8879  Progress: 7245 on 8879  Progress: 7246 on 8879  Progress: 7247 on 8879  Progress: 7248 on 8879  Progress: 7249 on 8879  Progress: 7250 on 8879  Progress: 7251 on 8879  Progress: 7252 on 8879  Progress: 7253 on 8879  Progress: 7254 on 8879  Progress: 7255 on 8879  Progress: 7256 on 8879  Progress: 7257 on 8879  Progress: 7258 on 8879  Progress: 7259 on 8879  Progress: 7260 on 8879  Progress: 7261 on 8879  Progress: 7262 on 8879  Progress: 7263 on 8879  Progress: 7264 on 8879  Progress: 7265 on 8879  Progress: 7266 on 8879  Progress: 7267 on 8879  Progress: 7268 on 8879  Progress: 7269 on 8879  Progress: 7270 on 8879  Progress: 7271 on 8879  Progress: 7272 on 8879  Progress: 7273 on 8879  Progress: 7274 on 8879  Progress: 7275 on 8879  Progress: 7276 on 8879  Progress: 7277 on 8879  Progress: 7278 on 8879  Progress: 7279 on 8879  Progress: 7280 on 8879  Progress: 7281 on 8879  Progress: 7282 on 8879  Progress: 7283 on 8879  Progress: 7284 on 8879  Progress: 7285 on 8879  Progress: 7286 on 8879  Progress: 7287 on 8879  Progress: 7288 on 8879  Progress: 7289 on 8879  Progress: 7290 on 8879  Progress: 7291 on 8879  Progress: 7292 on 8879  Progress: 7293 on 8879  Progress: 7294 on 8879  Progress: 7295 on 8879  Progress: 7296 on 8879  Progress: 7297 on 8879  Progress: 7298 on 8879  Progress: 7299 on 8879  Progress: 7300 on 8879  Progress: 7301 on 8879  Progress: 7302 on 8879  Progress: 7303 on 8879  Progress: 7304 on 8879  Progress: 7305 on 8879  Progress: 7306 on 8879  Progress: 7307 on 8879  Progress: 7308 on 8879  Progress: 7309 on 8879  Progress: 7310 on 8879  Progress: 7311 on 8879  Progress: 7312 on 8879  Progress: 7313 on 8879  Progress: 7314 on 8879  Progress: 7315 on 8879  Progress: 7316 on 8879  Progress: 7317 on 8879  Progress: 7318 on 8879  Progress: 7319 on 8879  Progress: 7320 on 8879  Progress: 7321 on 8879  Progress: 7322 on 8879  Progress: 7323 on 8879  Progress: 7324 on 8879  Progress: 7325 on 8879  Progress: 7326 on 8879  Progress: 7327 on 8879  Progress: 7328 on 8879  Progress: 7329 on 8879  Progress: 7330 on 8879  Progress: 7331 on 8879  Progress: 7332 on 8879  Progress: 7333 on 8879  Progress: 7334 on 8879  Progress: 7335 on 8879  Progress: 7336 on 8879  Progress: 7337 on 8879  Progress: 7338 on 8879  Progress: 7339 on 8879  Progress: 7340 on 8879  Progress: 7341 on 8879  Progress: 7342 on 8879  Progress: 7343 on 8879  Progress: 7344 on 8879  Progress: 7345 on 8879  Progress: 7346 on 8879  Progress: 7347 on 8879  Progress: 7348 on 8879  Progress: 7349 on 8879  Progress: 7350 on 8879  Progress: 7351 on 8879  Progress: 7352 on 8879  Progress: 7353 on 8879  Progress: 7354 on 8879  Progress: 7355 on 8879  Progress: 7356 on 8879  Progress: 7357 on 8879  Progress: 7358 on 8879  Progress: 7359 on 8879  Progress: 7360 on 8879  Progress: 7361 on 8879  Progress: 7362 on 8879  Progress: 7363 on 8879  Progress: 7364 on 8879  Progress: 7365 on 8879  Progress: 7366 on 8879  Progress: 7367 on 8879  Progress: 7368 on 8879  Progress: 7369 on 8879  Progress: 7370 on 8879  Progress: 7371 on 8879  Progress: 7372 on 8879  Progress: 7373 on 8879  Progress: 7374 on 8879  Progress: 7375 on 8879  Progress: 7376 on 8879  Progress: 7377 on 8879  Progress: 7378 on 8879  Progress: 7379 on 8879  Progress: 7380 on 8879  Progress: 7381 on 8879  Progress: 7382 on 8879  Progress: 7383 on 8879  Progress: 7384 on 8879  Progress: 7385 on 8879  Progress: 7386 on 8879  Progress: 7387 on 8879  Progress: 7388 on 8879  Progress: 7389 on 8879  Progress: 7390 on 8879  Progress: 7391 on 8879  Progress: 7392 on 8879  Progress: 7393 on 8879  Progress: 7394 on 8879  Progress: 7395 on 8879  Progress: 7396 on 8879  Progress: 7397 on 8879  Progress: 7398 on 8879  Progress: 7399 on 8879  Progress: 7400 on 8879  Progress: 7401 on 8879  Progress: 7402 on 8879  Progress: 7403 on 8879  Progress: 7404 on 8879  Progress: 7405 on 8879  Progress: 7406 on 8879  Progress: 7407 on 8879  Progress: 7408 on 8879  Progress: 7409 on 8879  Progress: 7410 on 8879  Progress: 7411 on 8879  Progress: 7412 on 8879  Progress: 7413 on 8879  Progress: 7414 on 8879  Progress: 7415 on 8879  Progress: 7416 on 8879  Progress: 7417 on 8879  Progress: 7418 on 8879  Progress: 7419 on 8879  Progress: 7420 on 8879  Progress: 7421 on 8879  Progress: 7422 on 8879  Progress: 7423 on 8879  Progress: 7424 on 8879  Progress: 7425 on 8879  Progress: 7426 on 8879  Progress: 7427 on 8879  Progress: 7428 on 8879  Progress: 7429 on 8879  Progress: 7430 on 8879  Progress: 7431 on 8879  Progress: 7432 on 8879  Progress: 7433 on 8879  Progress: 7434 on 8879  Progress: 7435 on 8879  Progress: 7436 on 8879  Progress: 7437 on 8879  Progress: 7438 on 8879  Progress: 7439 on 8879  Progress: 7440 on 8879  Progress: 7441 on 8879  Progress: 7442 on 8879  Progress: 7443 on 8879  Progress: 7444 on 8879  Progress: 7445 on 8879  Progress: 7446 on 8879  Progress: 7447 on 8879  Progress: 7448 on 8879  Progress: 7449 on 8879  Progress: 7450 on 8879  Progress: 7451 on 8879  Progress: 7452 on 8879  Progress: 7453 on 8879  Progress: 7454 on 8879  Progress: 7455 on 8879  Progress: 7456 on 8879  Progress: 7457 on 8879  Progress: 7458 on 8879  Progress: 7459 on 8879  Progress: 7460 on 8879  Progress: 7461 on 8879  Progress: 7462 on 8879  Progress: 7463 on 8879  Progress: 7464 on 8879  Progress: 7465 on 8879  Progress: 7466 on 8879  Progress: 7467 on 8879  Progress: 7468 on 8879  Progress: 7469 on 8879  Progress: 7470 on 8879  Progress: 7471 on 8879  Progress: 7472 on 8879  Progress: 7473 on 8879  Progress: 7474 on 8879  Progress: 7475 on 8879  Progress: 7476 on 8879  Progress: 7477 on 8879  Progress: 7478 on 8879  Progress: 7479 on 8879  Progress: 7480 on 8879  Progress: 7481 on 8879  Progress: 7482 on 8879  Progress: 7483 on 8879  Progress: 7484 on 8879  Progress: 7485 on 8879  Progress: 7486 on 8879  Progress: 7487 on 8879  Progress: 7488 on 8879  Progress: 7489 on 8879  Progress: 7490 on 8879  Progress: 7491 on 8879  Progress: 7492 on 8879  Progress: 7493 on 8879  Progress: 7494 on 8879  Progress: 7495 on 8879  Progress: 7496 on 8879  Progress: 7497 on 8879  Progress: 7498 on 8879  Progress: 7499 on 8879  Progress: 7500 on 8879  Progress: 7501 on 8879  Progress: 7502 on 8879  Progress: 7503 on 8879  Progress: 7504 on 8879  Progress: 7505 on 8879  Progress: 7506 on 8879  Progress: 7507 on 8879  Progress: 7508 on 8879  Progress: 7509 on 8879  Progress: 7510 on 8879  Progress: 7511 on 8879  Progress: 7512 on 8879  Progress: 7513 on 8879  Progress: 7514 on 8879  Progress: 7515 on 8879  Progress: 7516 on 8879  Progress: 7517 on 8879  Progress: 7518 on 8879  Progress: 7519 on 8879  Progress: 7520 on 8879  Progress: 7521 on 8879  Progress: 7522 on 8879  Progress: 7523 on 8879  Progress: 7524 on 8879  Progress: 7525 on 8879  Progress: 7526 on 8879  Progress: 7527 on 8879  Progress: 7528 on 8879  Progress: 7529 on 8879  Progress: 7530 on 8879  Progress: 7531 on 8879  Progress: 7532 on 8879  Progress: 7533 on 8879  Progress: 7534 on 8879  Progress: 7535 on 8879  Progress: 7536 on 8879  Progress: 7537 on 8879  Progress: 7538 on 8879  Progress: 7539 on 8879  Progress: 7540 on 8879  Progress: 7541 on 8879  Progress: 7542 on 8879  Progress: 7543 on 8879  Progress: 7544 on 8879  Progress: 7545 on 8879  Progress: 7546 on 8879  Progress: 7547 on 8879  Progress: 7548 on 8879  Progress: 7549 on 8879  Progress: 7550 on 8879  Progress: 7551 on 8879  Progress: 7552 on 8879  Progress: 7553 on 8879  Progress: 7554 on 8879  Progress: 7555 on 8879  Progress: 7556 on 8879  Progress: 7557 on 8879  Progress: 7558 on 8879  Progress: 7559 on 8879  Progress: 7560 on 8879  Progress: 7561 on 8879  Progress: 7562 on 8879  Progress: 7563 on 8879  Progress: 7564 on 8879  Progress: 7565 on 8879  Progress: 7566 on 8879  Progress: 7567 on 8879  Progress: 7568 on 8879  Progress: 7569 on 8879  Progress: 7570 on 8879  Progress: 7571 on 8879  Progress: 7572 on 8879  Progress: 7573 on 8879  Progress: 7574 on 8879  Progress: 7575 on 8879  Progress: 7576 on 8879  Progress: 7577 on 8879  Progress: 7578 on 8879  Progress: 7579 on 8879  Progress: 7580 on 8879  Progress: 7581 on 8879  Progress: 7582 on 8879  Progress: 7583 on 8879  Progress: 7584 on 8879  Progress: 7585 on 8879  Progress: 7586 on 8879  Progress: 7587 on 8879  Progress: 7588 on 8879  Progress: 7589 on 8879  Progress: 7590 on 8879  Progress: 7591 on 8879  Progress: 7592 on 8879  Progress: 7593 on 8879  Progress: 7594 on 8879  Progress: 7595 on 8879  Progress: 7596 on 8879  Progress: 7597 on 8879  Progress: 7598 on 8879  Progress: 7599 on 8879  Progress: 7600 on 8879  Progress: 7601 on 8879  Progress: 7602 on 8879  Progress: 7603 on 8879  Progress: 7604 on 8879  Progress: 7605 on 8879  Progress: 7606 on 8879  Progress: 7607 on 8879  Progress: 7608 on 8879  Progress: 7609 on 8879  Progress: 7610 on 8879  Progress: 7611 on 8879  Progress: 7612 on 8879  Progress: 7613 on 8879  Progress: 7614 on 8879  Progress: 7615 on 8879  Progress: 7616 on 8879  Progress: 7617 on 8879  Progress: 7618 on 8879  Progress: 7619 on 8879  Progress: 7620 on 8879  Progress: 7621 on 8879  Progress: 7622 on 8879  Progress: 7623 on 8879  Progress: 7624 on 8879  Progress: 7625 on 8879  Progress: 7626 on 8879  Progress: 7627 on 8879  Progress: 7628 on 8879  Progress: 7629 on 8879  Progress: 7630 on 8879  Progress: 7631 on 8879  Progress: 7632 on 8879  Progress: 7633 on 8879  Progress: 7634 on 8879  Progress: 7635 on 8879  Progress: 7636 on 8879  Progress: 7637 on 8879  Progress: 7638 on 8879  Progress: 7639 on 8879  Progress: 7640 on 8879  Progress: 7641 on 8879  Progress: 7642 on 8879  Progress: 7643 on 8879  Progress: 7644 on 8879  Progress: 7645 on 8879  Progress: 7646 on 8879  Progress: 7647 on 8879  Progress: 7648 on 8879  Progress: 7649 on 8879  Progress: 7650 on 8879  Progress: 7651 on 8879  Progress: 7652 on 8879  Progress: 7653 on 8879  Progress: 7654 on 8879  Progress: 7655 on 8879  Progress: 7656 on 8879  Progress: 7657 on 8879  Progress: 7658 on 8879  Progress: 7659 on 8879  Progress: 7660 on 8879  Progress: 7661 on 8879  Progress: 7662 on 8879  Progress: 7663 on 8879  Progress: 7664 on 8879  Progress: 7665 on 8879  Progress: 7666 on 8879  Progress: 7667 on 8879  Progress: 7668 on 8879  Progress: 7669 on 8879  Progress: 7670 on 8879  Progress: 7671 on 8879  Progress: 7672 on 8879  Progress: 7673 on 8879  Progress: 7674 on 8879  Progress: 7675 on 8879  Progress: 7676 on 8879  Progress: 7677 on 8879  Progress: 7678 on 8879  Progress: 7679 on 8879  Progress: 7680 on 8879  Progress: 7681 on 8879  Progress: 7682 on 8879  Progress: 7683 on 8879  Progress: 7684 on 8879  Progress: 7685 on 8879  Progress: 7686 on 8879  Progress: 7687 on 8879  Progress: 7688 on 8879  Progress: 7689 on 8879  Progress: 7690 on 8879  Progress: 7691 on 8879  Progress: 7692 on 8879  Progress: 7693 on 8879  Progress: 7694 on 8879  Progress: 7695 on 8879  Progress: 7696 on 8879  Progress: 7697 on 8879  Progress: 7698 on 8879  Progress: 7699 on 8879  Progress: 7700 on 8879  Progress: 7701 on 8879  Progress: 7702 on 8879  Progress: 7703 on 8879  Progress: 7704 on 8879  Progress: 7705 on 8879  Progress: 7706 on 8879  Progress: 7707 on 8879  Progress: 7708 on 8879  Progress: 7709 on 8879  Progress: 7710 on 8879  Progress: 7711 on 8879  Progress: 7712 on 8879  Progress: 7713 on 8879  Progress: 7714 on 8879  Progress: 7715 on 8879  Progress: 7716 on 8879  Progress: 7717 on 8879  Progress: 7718 on 8879  Progress: 7719 on 8879  Progress: 7720 on 8879  Progress: 7721 on 8879  Progress: 7722 on 8879  Progress: 7723 on 8879  Progress: 7724 on 8879  Progress: 7725 on 8879  Progress: 7726 on 8879  Progress: 7727 on 8879  Progress: 7728 on 8879  Progress: 7729 on 8879  Progress: 7730 on 8879  Progress: 7731 on 8879  Progress: 7732 on 8879  Progress: 7733 on 8879  Progress: 7734 on 8879  Progress: 7735 on 8879  Progress: 7736 on 8879  Progress: 7737 on 8879  Progress: 7738 on 8879  Progress: 7739 on 8879  Progress: 7740 on 8879  Progress: 7741 on 8879  Progress: 7742 on 8879  Progress: 7743 on 8879  Progress: 7744 on 8879  Progress: 7745 on 8879  Progress: 7746 on 8879  Progress: 7747 on 8879  Progress: 7748 on 8879  Progress: 7749 on 8879  Progress: 7750 on 8879  Progress: 7751 on 8879  Progress: 7752 on 8879  Progress: 7753 on 8879  Progress: 7754 on 8879  Progress: 7755 on 8879  Progress: 7756 on 8879  Progress: 7757 on 8879  Progress: 7758 on 8879  Progress: 7759 on 8879  Progress: 7760 on 8879  Progress: 7761 on 8879  Progress: 7762 on 8879  Progress: 7763 on 8879  Progress: 7764 on 8879  Progress: 7765 on 8879  Progress: 7766 on 8879  Progress: 7767 on 8879  Progress: 7768 on 8879  Progress: 7769 on 8879  Progress: 7770 on 8879  Progress: 7771 on 8879  Progress: 7772 on 8879  Progress: 7773 on 8879  Progress: 7774 on 8879  Progress: 7775 on 8879  Progress: 7776 on 8879  Progress: 7777 on 8879  Progress: 7778 on 8879  Progress: 7779 on 8879  Progress: 7780 on 8879  Progress: 7781 on 8879  Progress: 7782 on 8879  Progress: 7783 on 8879  Progress: 7784 on 8879  Progress: 7785 on 8879  Progress: 7786 on 8879  Progress: 7787 on 8879  Progress: 7788 on 8879  Progress: 7789 on 8879  Progress: 7790 on 8879  Progress: 7791 on 8879  Progress: 7792 on 8879  Progress: 7793 on 8879  Progress: 7794 on 8879  Progress: 7795 on 8879  Progress: 7796 on 8879  Progress: 7797 on 8879  Progress: 7798 on 8879  Progress: 7799 on 8879  Progress: 7800 on 8879  Progress: 7801 on 8879  Progress: 7802 on 8879  Progress: 7803 on 8879  Progress: 7804 on 8879  Progress: 7805 on 8879  Progress: 7806 on 8879  Progress: 7807 on 8879  Progress: 7808 on 8879  Progress: 7809 on 8879  Progress: 7810 on 8879  Progress: 7811 on 8879  Progress: 7812 on 8879  Progress: 7813 on 8879  Progress: 7814 on 8879  Progress: 7815 on 8879  Progress: 7816 on 8879  Progress: 7817 on 8879  Progress: 7818 on 8879  Progress: 7819 on 8879  Progress: 7820 on 8879  Progress: 7821 on 8879  Progress: 7822 on 8879  Progress: 7823 on 8879  Progress: 7824 on 8879  Progress: 7825 on 8879  Progress: 7826 on 8879  Progress: 7827 on 8879  Progress: 7828 on 8879  Progress: 7829 on 8879  Progress: 7830 on 8879  Progress: 7831 on 8879  Progress: 7832 on 8879  Progress: 7833 on 8879  Progress: 7834 on 8879  Progress: 7835 on 8879  Progress: 7836 on 8879  Progress: 7837 on 8879  Progress: 7838 on 8879  Progress: 7839 on 8879  Progress: 7840 on 8879  Progress: 7841 on 8879  Progress: 7842 on 8879  Progress: 7843 on 8879  Progress: 7844 on 8879  Progress: 7845 on 8879  Progress: 7846 on 8879  Progress: 7847 on 8879  Progress: 7848 on 8879  Progress: 7849 on 8879  Progress: 7850 on 8879  Progress: 7851 on 8879  Progress: 7852 on 8879  Progress: 7853 on 8879  Progress: 7854 on 8879  Progress: 7855 on 8879  Progress: 7856 on 8879  Progress: 7857 on 8879  Progress: 7858 on 8879  Progress: 7859 on 8879  Progress: 7860 on 8879  Progress: 7861 on 8879  Progress: 7862 on 8879  Progress: 7863 on 8879  Progress: 7864 on 8879  Progress: 7865 on 8879  Progress: 7866 on 8879  Progress: 7867 on 8879  Progress: 7868 on 8879  Progress: 7869 on 8879  Progress: 7870 on 8879  Progress: 7871 on 8879  Progress: 7872 on 8879  Progress: 7873 on 8879  Progress: 7874 on 8879  Progress: 7875 on 8879  Progress: 7876 on 8879  Progress: 7877 on 8879  Progress: 7878 on 8879  Progress: 7879 on 8879  Progress: 7880 on 8879  Progress: 7881 on 8879  Progress: 7882 on 8879  Progress: 7883 on 8879  Progress: 7884 on 8879  Progress: 7885 on 8879  Progress: 7886 on 8879  Progress: 7887 on 8879  Progress: 7888 on 8879  Progress: 7889 on 8879  Progress: 7890 on 8879  Progress: 7891 on 8879  Progress: 7892 on 8879  Progress: 7893 on 8879  Progress: 7894 on 8879  Progress: 7895 on 8879  Progress: 7896 on 8879  Progress: 7897 on 8879  Progress: 7898 on 8879  Progress: 7899 on 8879  Progress: 7900 on 8879  Progress: 7901 on 8879  Progress: 7902 on 8879  Progress: 7903 on 8879  Progress: 7904 on 8879  Progress: 7905 on 8879  Progress: 7906 on 8879  Progress: 7907 on 8879  Progress: 7908 on 8879  Progress: 7909 on 8879  Progress: 7910 on 8879  Progress: 7911 on 8879  Progress: 7912 on 8879  Progress: 7913 on 8879  Progress: 7914 on 8879  Progress: 7915 on 8879  Progress: 7916 on 8879  Progress: 7917 on 8879  Progress: 7918 on 8879  Progress: 7919 on 8879  Progress: 7920 on 8879  Progress: 7921 on 8879  Progress: 7922 on 8879  Progress: 7923 on 8879  Progress: 7924 on 8879  Progress: 7925 on 8879  Progress: 7926 on 8879  Progress: 7927 on 8879  Progress: 7928 on 8879  Progress: 7929 on 8879  Progress: 7930 on 8879  Progress: 7931 on 8879  Progress: 7932 on 8879  Progress: 7933 on 8879  Progress: 7934 on 8879  Progress: 7935 on 8879  Progress: 7936 on 8879  Progress: 7937 on 8879  Progress: 7938 on 8879  Progress: 7939 on 8879  Progress: 7940 on 8879  Progress: 7941 on 8879  Progress: 7942 on 8879  Progress: 7943 on 8879  Progress: 7944 on 8879  Progress: 7945 on 8879  Progress: 7946 on 8879  Progress: 7947 on 8879  Progress: 7948 on 8879  Progress: 7949 on 8879  Progress: 7950 on 8879  Progress: 7951 on 8879  Progress: 7952 on 8879  Progress: 7953 on 8879  Progress: 7954 on 8879  Progress: 7955 on 8879  Progress: 7956 on 8879  Progress: 7957 on 8879  Progress: 7958 on 8879  Progress: 7959 on 8879  Progress: 7960 on 8879  Progress: 7961 on 8879  Progress: 7962 on 8879  Progress: 7963 on 8879  Progress: 7964 on 8879  Progress: 7965 on 8879  Progress: 7966 on 8879  Progress: 7967 on 8879  Progress: 7968 on 8879  Progress: 7969 on 8879  Progress: 7970 on 8879  Progress: 7971 on 8879  Progress: 7972 on 8879  Progress: 7973 on 8879  Progress: 7974 on 8879  Progress: 7975 on 8879  Progress: 7976 on 8879  Progress: 7977 on 8879  Progress: 7978 on 8879  Progress: 7979 on 8879  Progress: 7980 on 8879  Progress: 7981 on 8879  Progress: 7982 on 8879  Progress: 7983 on 8879  Progress: 7984 on 8879  Progress: 7985 on 8879  Progress: 7986 on 8879  Progress: 7987 on 8879  Progress: 7988 on 8879  Progress: 7989 on 8879  Progress: 7990 on 8879  Progress: 7991 on 8879  Progress: 7992 on 8879  Progress: 7993 on 8879  Progress: 7994 on 8879  Progress: 7995 on 8879  Progress: 7996 on 8879  Progress: 7997 on 8879  Progress: 7998 on 8879  Progress: 7999 on 8879  Progress: 8000 on 8879  Progress: 8001 on 8879  Progress: 8002 on 8879  Progress: 8003 on 8879  Progress: 8004 on 8879  Progress: 8005 on 8879  Progress: 8006 on 8879  Progress: 8007 on 8879  Progress: 8008 on 8879  Progress: 8009 on 8879  Progress: 8010 on 8879  Progress: 8011 on 8879  Progress: 8012 on 8879  Progress: 8013 on 8879  Progress: 8014 on 8879  Progress: 8015 on 8879  Progress: 8016 on 8879  Progress: 8017 on 8879  Progress: 8018 on 8879  Progress: 8019 on 8879  Progress: 8020 on 8879  Progress: 8021 on 8879  Progress: 8022 on 8879  Progress: 8023 on 8879  Progress: 8024 on 8879  Progress: 8025 on 8879  Progress: 8026 on 8879  Progress: 8027 on 8879  Progress: 8028 on 8879  Progress: 8029 on 8879  Progress: 8030 on 8879  Progress: 8031 on 8879  Progress: 8032 on 8879  Progress: 8033 on 8879  Progress: 8034 on 8879  Progress: 8035 on 8879  Progress: 8036 on 8879  Progress: 8037 on 8879  Progress: 8038 on 8879  Progress: 8039 on 8879  Progress: 8040 on 8879  Progress: 8041 on 8879  Progress: 8042 on 8879  Progress: 8043 on 8879  Progress: 8044 on 8879  Progress: 8045 on 8879  Progress: 8046 on 8879  Progress: 8047 on 8879  Progress: 8048 on 8879  Progress: 8049 on 8879  Progress: 8050 on 8879  Progress: 8051 on 8879  Progress: 8052 on 8879  Progress: 8053 on 8879  Progress: 8054 on 8879  Progress: 8055 on 8879  Progress: 8056 on 8879  Progress: 8057 on 8879  Progress: 8058 on 8879  Progress: 8059 on 8879  Progress: 8060 on 8879  Progress: 8061 on 8879  Progress: 8062 on 8879  Progress: 8063 on 8879  Progress: 8064 on 8879  Progress: 8065 on 8879  Progress: 8066 on 8879  Progress: 8067 on 8879  Progress: 8068 on 8879  Progress: 8069 on 8879  Progress: 8070 on 8879  Progress: 8071 on 8879  Progress: 8072 on 8879  Progress: 8073 on 8879  Progress: 8074 on 8879  Progress: 8075 on 8879  Progress: 8076 on 8879  Progress: 8077 on 8879  Progress: 8078 on 8879  Progress: 8079 on 8879  Progress: 8080 on 8879  Progress: 8081 on 8879  Progress: 8082 on 8879  Progress: 8083 on 8879  Progress: 8084 on 8879  Progress: 8085 on 8879  Progress: 8086 on 8879  Progress: 8087 on 8879  Progress: 8088 on 8879  Progress: 8089 on 8879  Progress: 8090 on 8879  Progress: 8091 on 8879  Progress: 8092 on 8879  Progress: 8093 on 8879  Progress: 8094 on 8879  Progress: 8095 on 8879  Progress: 8096 on 8879  Progress: 8097 on 8879  Progress: 8098 on 8879  Progress: 8099 on 8879  Progress: 8100 on 8879  Progress: 8101 on 8879  Progress: 8102 on 8879  Progress: 8103 on 8879  Progress: 8104 on 8879  Progress: 8105 on 8879  Progress: 8106 on 8879  Progress: 8107 on 8879  Progress: 8108 on 8879  Progress: 8109 on 8879  Progress: 8110 on 8879  Progress: 8111 on 8879  Progress: 8112 on 8879  Progress: 8113 on 8879  Progress: 8114 on 8879  Progress: 8115 on 8879  Progress: 8116 on 8879  Progress: 8117 on 8879  Progress: 8118 on 8879  Progress: 8119 on 8879  Progress: 8120 on 8879  Progress: 8121 on 8879  Progress: 8122 on 8879  Progress: 8123 on 8879  Progress: 8124 on 8879  Progress: 8125 on 8879  Progress: 8126 on 8879  Progress: 8127 on 8879  Progress: 8128 on 8879  Progress: 8129 on 8879  Progress: 8130 on 8879  Progress: 8131 on 8879  Progress: 8132 on 8879  Progress: 8133 on 8879  Progress: 8134 on 8879  Progress: 8135 on 8879  Progress: 8136 on 8879  Progress: 8137 on 8879  Progress: 8138 on 8879  Progress: 8139 on 8879  Progress: 8140 on 8879  Progress: 8141 on 8879  Progress: 8142 on 8879  Progress: 8143 on 8879  Progress: 8144 on 8879  Progress: 8145 on 8879  Progress: 8146 on 8879  Progress: 8147 on 8879  Progress: 8148 on 8879  Progress: 8149 on 8879  Progress: 8150 on 8879  Progress: 8151 on 8879  Progress: 8152 on 8879  Progress: 8153 on 8879  Progress: 8154 on 8879  Progress: 8155 on 8879  Progress: 8156 on 8879  Progress: 8157 on 8879  Progress: 8158 on 8879  Progress: 8159 on 8879  Progress: 8160 on 8879  Progress: 8161 on 8879  Progress: 8162 on 8879  Progress: 8163 on 8879  Progress: 8164 on 8879  Progress: 8165 on 8879  Progress: 8166 on 8879  Progress: 8167 on 8879  Progress: 8168 on 8879  Progress: 8169 on 8879  Progress: 8170 on 8879  Progress: 8171 on 8879  Progress: 8172 on 8879  Progress: 8173 on 8879  Progress: 8174 on 8879  Progress: 8175 on 8879  Progress: 8176 on 8879  Progress: 8177 on 8879  Progress: 8178 on 8879  Progress: 8179 on 8879  Progress: 8180 on 8879  Progress: 8181 on 8879  Progress: 8182 on 8879  Progress: 8183 on 8879  Progress: 8184 on 8879  Progress: 8185 on 8879  Progress: 8186 on 8879  Progress: 8187 on 8879  Progress: 8188 on 8879  Progress: 8189 on 8879  Progress: 8190 on 8879  Progress: 8191 on 8879  Progress: 8192 on 8879  Progress: 8193 on 8879  Progress: 8194 on 8879  Progress: 8195 on 8879  Progress: 8196 on 8879  Progress: 8197 on 8879  Progress: 8198 on 8879  Progress: 8199 on 8879  Progress: 8200 on 8879  Progress: 8201 on 8879  Progress: 8202 on 8879  Progress: 8203 on 8879  Progress: 8204 on 8879  Progress: 8205 on 8879  Progress: 8206 on 8879  Progress: 8207 on 8879  Progress: 8208 on 8879  Progress: 8209 on 8879  Progress: 8210 on 8879  Progress: 8211 on 8879  Progress: 8212 on 8879  Progress: 8213 on 8879  Progress: 8214 on 8879  Progress: 8215 on 8879  Progress: 8216 on 8879  Progress: 8217 on 8879  Progress: 8218 on 8879  Progress: 8219 on 8879  Progress: 8220 on 8879  Progress: 8221 on 8879  Progress: 8222 on 8879  Progress: 8223 on 8879  Progress: 8224 on 8879  Progress: 8225 on 8879  Progress: 8226 on 8879  Progress: 8227 on 8879  Progress: 8228 on 8879  Progress: 8229 on 8879  Progress: 8230 on 8879  Progress: 8231 on 8879  Progress: 8232 on 8879  Progress: 8233 on 8879  Progress: 8234 on 8879  Progress: 8235 on 8879  Progress: 8236 on 8879  Progress: 8237 on 8879  Progress: 8238 on 8879  Progress: 8239 on 8879  Progress: 8240 on 8879  Progress: 8241 on 8879  Progress: 8242 on 8879  Progress: 8243 on 8879  Progress: 8244 on 8879  Progress: 8245 on 8879  Progress: 8246 on 8879  Progress: 8247 on 8879  Progress: 8248 on 8879  Progress: 8249 on 8879  Progress: 8250 on 8879  Progress: 8251 on 8879  Progress: 8252 on 8879  Progress: 8253 on 8879  Progress: 8254 on 8879  Progress: 8255 on 8879  Progress: 8256 on 8879  Progress: 8257 on 8879  Progress: 8258 on 8879  Progress: 8259 on 8879  Progress: 8260 on 8879  Progress: 8261 on 8879  Progress: 8262 on 8879  Progress: 8263 on 8879  Progress: 8264 on 8879  Progress: 8265 on 8879  Progress: 8266 on 8879  Progress: 8267 on 8879  Progress: 8268 on 8879  Progress: 8269 on 8879  Progress: 8270 on 8879  Progress: 8271 on 8879  Progress: 8272 on 8879  Progress: 8273 on 8879  Progress: 8274 on 8879  Progress: 8275 on 8879  Progress: 8276 on 8879  Progress: 8277 on 8879  Progress: 8278 on 8879  Progress: 8279 on 8879  Progress: 8280 on 8879  Progress: 8281 on 8879  Progress: 8282 on 8879  Progress: 8283 on 8879  Progress: 8284 on 8879  Progress: 8285 on 8879  Progress: 8286 on 8879  Progress: 8287 on 8879  Progress: 8288 on 8879  Progress: 8289 on 8879  Progress: 8290 on 8879  Progress: 8291 on 8879  Progress: 8292 on 8879  Progress: 8293 on 8879  Progress: 8294 on 8879  Progress: 8295 on 8879  Progress: 8296 on 8879  Progress: 8297 on 8879  Progress: 8298 on 8879  Progress: 8299 on 8879  Progress: 8300 on 8879  Progress: 8301 on 8879  Progress: 8302 on 8879  Progress: 8303 on 8879  Progress: 8304 on 8879  Progress: 8305 on 8879  Progress: 8306 on 8879  Progress: 8307 on 8879  Progress: 8308 on 8879  Progress: 8309 on 8879  Progress: 8310 on 8879  Progress: 8311 on 8879  Progress: 8312 on 8879  Progress: 8313 on 8879  Progress: 8314 on 8879  Progress: 8315 on 8879  Progress: 8316 on 8879  Progress: 8317 on 8879  Progress: 8318 on 8879  Progress: 8319 on 8879  Progress: 8320 on 8879  Progress: 8321 on 8879  Progress: 8322 on 8879  Progress: 8323 on 8879  Progress: 8324 on 8879  Progress: 8325 on 8879  Progress: 8326 on 8879  Progress: 8327 on 8879  Progress: 8328 on 8879  Progress: 8329 on 8879  Progress: 8330 on 8879  Progress: 8331 on 8879  Progress: 8332 on 8879  Progress: 8333 on 8879  Progress: 8334 on 8879  Progress: 8335 on 8879  Progress: 8336 on 8879  Progress: 8337 on 8879  Progress: 8338 on 8879  Progress: 8339 on 8879  Progress: 8340 on 8879  Progress: 8341 on 8879  Progress: 8342 on 8879  Progress: 8343 on 8879  Progress: 8344 on 8879  Progress: 8345 on 8879  Progress: 8346 on 8879  Progress: 8347 on 8879  Progress: 8348 on 8879  Progress: 8349 on 8879  Progress: 8350 on 8879  Progress: 8351 on 8879  Progress: 8352 on 8879  Progress: 8353 on 8879  Progress: 8354 on 8879  Progress: 8355 on 8879  Progress: 8356 on 8879  Progress: 8357 on 8879  Progress: 8358 on 8879  Progress: 8359 on 8879  Progress: 8360 on 8879  Progress: 8361 on 8879  Progress: 8362 on 8879  Progress: 8363 on 8879  Progress: 8364 on 8879  Progress: 8365 on 8879  Progress: 8366 on 8879  Progress: 8367 on 8879  Progress: 8368 on 8879  Progress: 8369 on 8879  Progress: 8370 on 8879  Progress: 8371 on 8879  Progress: 8372 on 8879  Progress: 8373 on 8879  Progress: 8374 on 8879  Progress: 8375 on 8879  Progress: 8376 on 8879  Progress: 8377 on 8879  Progress: 8378 on 8879  Progress: 8379 on 8879  Progress: 8380 on 8879  Progress: 8381 on 8879  Progress: 8382 on 8879  Progress: 8383 on 8879  Progress: 8384 on 8879  Progress: 8385 on 8879  Progress: 8386 on 8879  Progress: 8387 on 8879  Progress: 8388 on 8879  Progress: 8389 on 8879  Progress: 8390 on 8879  Progress: 8391 on 8879  Progress: 8392 on 8879  Progress: 8393 on 8879  Progress: 8394 on 8879  Progress: 8395 on 8879  Progress: 8396 on 8879  Progress: 8397 on 8879  Progress: 8398 on 8879  Progress: 8399 on 8879  Progress: 8400 on 8879  Progress: 8401 on 8879  Progress: 8402 on 8879  Progress: 8403 on 8879  Progress: 8404 on 8879  Progress: 8405 on 8879  Progress: 8406 on 8879  Progress: 8407 on 8879  Progress: 8408 on 8879  Progress: 8409 on 8879  Progress: 8410 on 8879  Progress: 8411 on 8879  Progress: 8412 on 8879  Progress: 8413 on 8879  Progress: 8414 on 8879  Progress: 8415 on 8879  Progress: 8416 on 8879  Progress: 8417 on 8879  Progress: 8418 on 8879  Progress: 8419 on 8879  Progress: 8420 on 8879  Progress: 8421 on 8879  Progress: 8422 on 8879  Progress: 8423 on 8879  Progress: 8424 on 8879  Progress: 8425 on 8879  Progress: 8426 on 8879  Progress: 8427 on 8879  Progress: 8428 on 8879  Progress: 8429 on 8879  Progress: 8430 on 8879  Progress: 8431 on 8879  Progress: 8432 on 8879  Progress: 8433 on 8879  Progress: 8434 on 8879  Progress: 8435 on 8879  Progress: 8436 on 8879  Progress: 8437 on 8879  Progress: 8438 on 8879  Progress: 8439 on 8879  Progress: 8440 on 8879  Progress: 8441 on 8879  Progress: 8442 on 8879  Progress: 8443 on 8879  Progress: 8444 on 8879  Progress: 8445 on 8879  Progress: 8446 on 8879  Progress: 8447 on 8879  Progress: 8448 on 8879  Progress: 8449 on 8879  Progress: 8450 on 8879  Progress: 8451 on 8879  Progress: 8452 on 8879  Progress: 8453 on 8879  Progress: 8454 on 8879  Progress: 8455 on 8879  Progress: 8456 on 8879  Progress: 8457 on 8879  Progress: 8458 on 8879  Progress: 8459 on 8879  Progress: 8460 on 8879  Progress: 8461 on 8879  Progress: 8462 on 8879  Progress: 8463 on 8879  Progress: 8464 on 8879  Progress: 8465 on 8879  Progress: 8466 on 8879  Progress: 8467 on 8879  Progress: 8468 on 8879  Progress: 8469 on 8879  Progress: 8470 on 8879  Progress: 8471 on 8879  Progress: 8472 on 8879  Progress: 8473 on 8879  Progress: 8474 on 8879  Progress: 8475 on 8879  Progress: 8476 on 8879  Progress: 8477 on 8879  Progress: 8478 on 8879  Progress: 8479 on 8879  Progress: 8480 on 8879  Progress: 8481 on 8879  Progress: 8482 on 8879  Progress: 8483 on 8879  Progress: 8484 on 8879  Progress: 8485 on 8879  Progress: 8486 on 8879  Progress: 8487 on 8879  Progress: 8488 on 8879  Progress: 8489 on 8879  Progress: 8490 on 8879  Progress: 8491 on 8879  Progress: 8492 on 8879  Progress: 8493 on 8879  Progress: 8494 on 8879  Progress: 8495 on 8879  Progress: 8496 on 8879  Progress: 8497 on 8879  Progress: 8498 on 8879  Progress: 8499 on 8879  Progress: 8500 on 8879  Progress: 8501 on 8879  Progress: 8502 on 8879  Progress: 8503 on 8879  Progress: 8504 on 8879  Progress: 8505 on 8879  Progress: 8506 on 8879  Progress: 8507 on 8879  Progress: 8508 on 8879  Progress: 8509 on 8879  Progress: 8510 on 8879  Progress: 8511 on 8879  Progress: 8512 on 8879  Progress: 8513 on 8879  Progress: 8514 on 8879  Progress: 8515 on 8879  Progress: 8516 on 8879  Progress: 8517 on 8879  Progress: 8518 on 8879  Progress: 8519 on 8879  Progress: 8520 on 8879  Progress: 8521 on 8879  Progress: 8522 on 8879  Progress: 8523 on 8879  Progress: 8524 on 8879  Progress: 8525 on 8879  Progress: 8526 on 8879  Progress: 8527 on 8879  Progress: 8528 on 8879  Progress: 8529 on 8879  Progress: 8530 on 8879  Progress: 8531 on 8879  Progress: 8532 on 8879  Progress: 8533 on 8879  Progress: 8534 on 8879  Progress: 8535 on 8879  Progress: 8536 on 8879  Progress: 8537 on 8879  Progress: 8538 on 8879  Progress: 8539 on 8879  Progress: 8540 on 8879  Progress: 8541 on 8879  Progress: 8542 on 8879  Progress: 8543 on 8879  Progress: 8544 on 8879  Progress: 8545 on 8879  Progress: 8546 on 8879  Progress: 8547 on 8879  Progress: 8548 on 8879  Progress: 8549 on 8879  Progress: 8550 on 8879  Progress: 8551 on 8879  Progress: 8552 on 8879  Progress: 8553 on 8879  Progress: 8554 on 8879  Progress: 8555 on 8879  Progress: 8556 on 8879  Progress: 8557 on 8879  Progress: 8558 on 8879  Progress: 8559 on 8879  Progress: 8560 on 8879  Progress: 8561 on 8879  Progress: 8562 on 8879  Progress: 8563 on 8879  Progress: 8564 on 8879  Progress: 8565 on 8879  Progress: 8566 on 8879  Progress: 8567 on 8879  Progress: 8568 on 8879  Progress: 8569 on 8879  Progress: 8570 on 8879  Progress: 8571 on 8879  Progress: 8572 on 8879  Progress: 8573 on 8879  Progress: 8574 on 8879  Progress: 8575 on 8879  Progress: 8576 on 8879  Progress: 8577 on 8879  Progress: 8578 on 8879  Progress: 8579 on 8879  Progress: 8580 on 8879  Progress: 8581 on 8879  Progress: 8582 on 8879  Progress: 8583 on 8879  Progress: 8584 on 8879  Progress: 8585 on 8879  Progress: 8586 on 8879  Progress: 8587 on 8879  Progress: 8588 on 8879  Progress: 8589 on 8879  Progress: 8590 on 8879  Progress: 8591 on 8879  Progress: 8592 on 8879  Progress: 8593 on 8879  Progress: 8594 on 8879  Progress: 8595 on 8879  Progress: 8596 on 8879  Progress: 8597 on 8879  Progress: 8598 on 8879  Progress: 8599 on 8879  Progress: 8600 on 8879  Progress: 8601 on 8879  Progress: 8602 on 8879  Progress: 8603 on 8879  Progress: 8604 on 8879  Progress: 8605 on 8879  Progress: 8606 on 8879  Progress: 8607 on 8879  Progress: 8608 on 8879  Progress: 8609 on 8879  Progress: 8610 on 8879  Progress: 8611 on 8879  Progress: 8612 on 8879  Progress: 8613 on 8879  Progress: 8614 on 8879  Progress: 8615 on 8879  Progress: 8616 on 8879  Progress: 8617 on 8879  Progress: 8618 on 8879  Progress: 8619 on 8879  Progress: 8620 on 8879  Progress: 8621 on 8879  Progress: 8622 on 8879  Progress: 8623 on 8879  Progress: 8624 on 8879  Progress: 8625 on 8879  Progress: 8626 on 8879  Progress: 8627 on 8879  Progress: 8628 on 8879  Progress: 8629 on 8879  Progress: 8630 on 8879  Progress: 8631 on 8879  Progress: 8632 on 8879  Progress: 8633 on 8879  Progress: 8634 on 8879  Progress: 8635 on 8879  Progress: 8636 on 8879  Progress: 8637 on 8879  Progress: 8638 on 8879  Progress: 8639 on 8879  Progress: 8640 on 8879  Progress: 8641 on 8879  Progress: 8642 on 8879  Progress: 8643 on 8879  Progress: 8644 on 8879  Progress: 8645 on 8879  Progress: 8646 on 8879  Progress: 8647 on 8879  Progress: 8648 on 8879  Progress: 8649 on 8879  Progress: 8650 on 8879  Progress: 8651 on 8879  Progress: 8652 on 8879  Progress: 8653 on 8879  Progress: 8654 on 8879  Progress: 8655 on 8879  Progress: 8656 on 8879  Progress: 8657 on 8879  Progress: 8658 on 8879  Progress: 8659 on 8879  Progress: 8660 on 8879  Progress: 8661 on 8879  Progress: 8662 on 8879  Progress: 8663 on 8879  Progress: 8664 on 8879  Progress: 8665 on 8879  Progress: 8666 on 8879  Progress: 8667 on 8879  Progress: 8668 on 8879  Progress: 8669 on 8879  Progress: 8670 on 8879  Progress: 8671 on 8879  Progress: 8672 on 8879  Progress: 8673 on 8879  Progress: 8674 on 8879  Progress: 8675 on 8879  Progress: 8676 on 8879  Progress: 8677 on 8879  Progress: 8678 on 8879  Progress: 8679 on 8879  Progress: 8680 on 8879  Progress: 8681 on 8879  Progress: 8682 on 8879  Progress: 8683 on 8879  Progress: 8684 on 8879  Progress: 8685 on 8879  Progress: 8686 on 8879  Progress: 8687 on 8879  Progress: 8688 on 8879  Progress: 8689 on 8879  Progress: 8690 on 8879  Progress: 8691 on 8879  Progress: 8692 on 8879  Progress: 8693 on 8879  Progress: 8694 on 8879  Progress: 8695 on 8879  Progress: 8696 on 8879  Progress: 8697 on 8879  Progress: 8698 on 8879  Progress: 8699 on 8879  Progress: 8700 on 8879  Progress: 8701 on 8879  Progress: 8702 on 8879  Progress: 8703 on 8879  Progress: 8704 on 8879  Progress: 8705 on 8879  Progress: 8706 on 8879  Progress: 8707 on 8879  Progress: 8708 on 8879  Progress: 8709 on 8879  Progress: 8710 on 8879  Progress: 8711 on 8879  Progress: 8712 on 8879  Progress: 8713 on 8879  Progress: 8714 on 8879  Progress: 8715 on 8879  Progress: 8716 on 8879  Progress: 8717 on 8879  Progress: 8718 on 8879  Progress: 8719 on 8879  Progress: 8720 on 8879  Progress: 8721 on 8879  Progress: 8722 on 8879  Progress: 8723 on 8879  Progress: 8724 on 8879  Progress: 8725 on 8879  Progress: 8726 on 8879  Progress: 8727 on 8879  Progress: 8728 on 8879  Progress: 8729 on 8879  Progress: 8730 on 8879  Progress: 8731 on 8879  Progress: 8732 on 8879  Progress: 8733 on 8879  Progress: 8734 on 8879  Progress: 8735 on 8879  Progress: 8736 on 8879  Progress: 8737 on 8879  Progress: 8738 on 8879  Progress: 8739 on 8879  Progress: 8740 on 8879  Progress: 8741 on 8879  Progress: 8742 on 8879  Progress: 8743 on 8879  Progress: 8744 on 8879  Progress: 8745 on 8879  Progress: 8746 on 8879  Progress: 8747 on 8879  Progress: 8748 on 8879  Progress: 8749 on 8879  Progress: 8750 on 8879  Progress: 8751 on 8879  Progress: 8752 on 8879  Progress: 8753 on 8879  Progress: 8754 on 8879  Progress: 8755 on 8879  Progress: 8756 on 8879  Progress: 8757 on 8879  Progress: 8758 on 8879  Progress: 8759 on 8879  Progress: 8760 on 8879  Progress: 8761 on 8879  Progress: 8762 on 8879  Progress: 8763 on 8879  Progress: 8764 on 8879  Progress: 8765 on 8879  Progress: 8766 on 8879  Progress: 8767 on 8879  Progress: 8768 on 8879  Progress: 8769 on 8879  Progress: 8770 on 8879  Progress: 8771 on 8879  Progress: 8772 on 8879  Progress: 8773 on 8879  Progress: 8774 on 8879  Progress: 8775 on 8879  Progress: 8776 on 8879  Progress: 8777 on 8879  Progress: 8778 on 8879  Progress: 8779 on 8879  Progress: 8780 on 8879  Progress: 8781 on 8879  Progress: 8782 on 8879  Progress: 8783 on 8879  Progress: 8784 on 8879  Progress: 8785 on 8879  Progress: 8786 on 8879  Progress: 8787 on 8879  Progress: 8788 on 8879  Progress: 8789 on 8879  Progress: 8790 on 8879  Progress: 8791 on 8879  Progress: 8792 on 8879  Progress: 8793 on 8879  Progress: 8794 on 8879  Progress: 8795 on 8879  Progress: 8796 on 8879  Progress: 8797 on 8879  Progress: 8798 on 8879  Progress: 8799 on 8879  Progress: 8800 on 8879  Progress: 8801 on 8879  Progress: 8802 on 8879  Progress: 8803 on 8879  Progress: 8804 on 8879  Progress: 8805 on 8879  Progress: 8806 on 8879  Progress: 8807 on 8879  Progress: 8808 on 8879  Progress: 8809 on 8879  Progress: 8810 on 8879  Progress: 8811 on 8879  Progress: 8812 on 8879  Progress: 8813 on 8879  Progress: 8814 on 8879  Progress: 8815 on 8879  Progress: 8816 on 8879  Progress: 8817 on 8879  Progress: 8818 on 8879  Progress: 8819 on 8879  Progress: 8820 on 8879  Progress: 8821 on 8879  Progress: 8822 on 8879  Progress: 8823 on 8879  Progress: 8824 on 8879  Progress: 8825 on 8879  Progress: 8826 on 8879  Progress: 8827 on 8879  Progress: 8828 on 8879  Progress: 8829 on 8879  Progress: 8830 on 8879  Progress: 8831 on 8879  Progress: 8832 on 8879  Progress: 8833 on 8879  Progress: 8834 on 8879  Progress: 8835 on 8879  Progress: 8836 on 8879  Progress: 8837 on 8879  Progress: 8838 on 8879  Progress: 8839 on 8879  Progress: 8840 on 8879  Progress: 8841 on 8879  Progress: 8842 on 8879  Progress: 8843 on 8879  Progress: 8844 on 8879  Progress: 8845 on 8879  Progress: 8846 on 8879  Progress: 8847 on 8879  Progress: 8848 on 8879  Progress: 8849 on 8879  Progress: 8850 on 8879  Progress: 8851 on 8879  Progress: 8852 on 8879  Progress: 8853 on 8879  Progress: 8854 on 8879  Progress: 8855 on 8879  Progress: 8856 on 8879  Progress: 8857 on 8879  Progress: 8858 on 8879  Progress: 8859 on 8879  Progress: 8860 on 8879  Progress: 8861 on 8879  Progress: 8862 on 8879  Progress: 8863 on 8879  Progress: 8864 on 8879  Progress: 8865 on 8879  Progress: 8866 on 8879  Progress: 8867 on 8879  Progress: 8868 on 8879  Progress: 8869 on 8879  Progress: 8870 on 8879  Progress: 8871 on 8879  Progress: 8872 on 8879  Progress: 8873 on 8879  Progress: 8874 on 8879  Progress: 8875 on 8879  Progress: 8876 on 8879  Progress: 8877 on 8879  Progress: 8878 on 8879  Progress: 8879 on 8879  
za_instytucja <- za_instytucja %>%
  filter(is.na(czy_nazwisko)&is.na(czy_imie)) %>%
  filter(instytucja!="") %>%
  filter(!grepl("^\\[[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]|^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]",instytucja)) %>%
  mutate(instytucja = str_remove(instytucja,"\\.$")) %>%
  select(ZA_UWAGI,instytucja) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#10: wydawnictwo
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI, X260) %>%
  mutate(X260 = str_replace_all(X260,"s\\.n\\.", "b.w."), 
         X260 = str_replace_all(X260,"s\\.l\\.", "b.m."), 
         X260 = str_replace_all(X260,"S\\.l\\.", "b.m."), 
         X260 = str_remove(X260,"^\\\\+"), 
         rok_wydania = str_extract_all(X260, "(?<=\\$c).*(?=\\$e)|(?<=\\$c).*"), 
         bez_roku = str_replace_all(X260, ".\\$c.*", ""), 
         ile_wydawnictw = str_count(bez_roku, "\\$b"),
         ile_miejsc = str_count(bez_roku, "\\$a"),
         kolejnosc = str_replace_all(as.character(str_extract_all(bez_roku, "\\$.")), "[^a-z]", ""),
         bez_roku = str_replace_all(bez_roku, ";\\$b", ":$b"),
         wydaw_podziel = ifelse(ile_wydawnictw>ile_miejsc|kolejnosc=="caabb", str_replace_all(bez_roku, "(\\$a)(.*?)( :\\$b.*?)( :\\$b)", "\\1\\2\\3 ;$a\\2\\4"),bez_roku),
         wydawnictwo_test = str_replace_all(wydaw_podziel, "(\\$b)(.*?)( ;\\$a)", "\\1\\2|\\3")) %>%
  select(ZA_UWAGI,rok_wydania,wydawnictwo_test) %>%
  cSplit(., "wydawnictwo_test", sep = "|", direction = "long") %>%
  mutate(wydawnictwo = str_extract_all(wydawnictwo_test, "(?<=\\$b)(.*)"),
         miejsce_wydania = str_replace_all(str_extract_all(wydawnictwo_test, "(?<=\\$a)(.*)(?= {0,1}: {0,1}\\$b)|(?<=\\$a)(.*)($)")," ;\\$a", ", "),
         nazwa_prosta = str_to_lower(str_replace_all(str_replace_all(unlist(wydawnictwo_test), "\\$\\w", ""), "\\W", ""))) %>%
  left_join(.,PBL_wydawnictwa,by="nazwa_prosta") %>%
  mutate(to_samo = wydawnictwo==WY_NAZWA) %>%
  arrange(ZA_UWAGI,-to_samo,-WY_LICZBA_ZAPISOW)
BN_wydawnictwo$id_grupy <- cumsum(!duplicated(BN_wydawnictwo[1:3]))
BN_wydawnictwo <- BN_wydawnictwo[!duplicated(BN_wydawnictwo$id_grupy),] %>%
  mutate(WY_NAZWA = ifelse(!is.na(WY_NAZWA),as.character(WY_NAZWA),as.character(wydawnictwo)),
         WY_MIASTO = ifelse(!is.na(WY_MIASTO),as.character(WY_MIASTO),trim(as.character(miejsce_wydania))),
         rok_wydania = str_replace_all(rok_wydania, "(.*)(\\.)", "\\1"),
         za_rok_wydania = ifelse(nchar(rok_wydania)==4,as.character(rok_wydania),NA),
         do_opisu = ifelse(is.na(za_rok_wydania),paste("[",str_extract(rok_wydania,"\\d{4}"),"]",sep = ""),""),
         WY_MIASTO = ifelse(substr(WY_MIASTO,1,1)=="["&substr(WY_MIASTO,nchar(WY_MIASTO),nchar(WY_MIASTO))!="]"&is.na(WY_WYDAWNICTWO_ID),paste(trim(WY_MIASTO),"]",sep = ""),as.character(WY_MIASTO))) %>%
  select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania,do_opisu) %>% 
  mutate(WY_NAZWA = ifelse(str_count(WY_NAZWA, "\\[")>str_count(WY_NAZWA, "\\]"), paste(WY_NAZWA, "]", sep = ""),
                           ifelse(str_count(WY_NAZWA, "\\[")<str_count(WY_NAZWA, "\\]"), paste("[", WY_NAZWA, sep = ""), as.character(WY_NAZWA))),
         WY_MIASTO = ifelse(str_count(WY_MIASTO, "\\[")>str_count(WY_MIASTO, "\\]"), paste(WY_MIASTO, "]", sep = ""),
                           ifelse(str_count(WY_MIASTO, "\\[")<str_count(WY_MIASTO, "\\]"), paste("[", WY_MIASTO, sep = ""), as.character(WY_MIASTO))))
argument is not an atomic vector; coercing
#11: opis fizyczny książki
#pole 300 do opisu fizycznego
marc_field_300 <- data %>%
  select(ZA_UWAGI,X300)%>%
  filter(X300!="") %>%
  mutate(X300=str_replace_all(X300,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X300",sep = "~",direction = "long") %>%
  filter(X300!="") %>%
  mutate(X300=str_remove_all(X300,"^\\|")) %>%
  mutate(indicator = str_replace_all(X300,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X300,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_300)[1]))
colnames(empty_table) <-subfield_list
marc_field_300<-cbind(marc_field_300,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_300$X300 <- str_replace(marc_field_300$X300,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_300[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_300$X300),str_replace_all(gsub(string,"\\3",marc_field_300$X300),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
marc_field_300 <- marc_field_300 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$b` = str_remove(`$b`," \\;+$| \\:+$"),
         `$e` = ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`)&grepl("\\+ dysk|płyt",`$e`),str_extract(`$e`,"(?<=\\+)(dysk|płyt.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),
                       ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`),str_extract(`$e`,"(^.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),NA)),
         `$a` = ifelse(is.na(`$a`),"",as.character(`$a`)),
         `$b` = ifelse(is.na(`$b`),"",as.character(`$b`)),
         `$e` = ifelse(is.na(`$e`),"",as.character(`$e`)))
#pole 500 do opisu fizycznego
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  mutate(`$a` = ifelse(grepl("oryg(\\.|\\,)",X500)&grepl("pseud|nazwa",X500,ignore.case = TRUE),str_replace(`$a`,"(^.*?)(\\. )(\\p{Lu}.*$)","\\3"),as.character(`$a`))) %>% 
  filter(!grepl("oryg(\\.|\\,)",`$a`)&grepl("pseud|nazwa|dotycz|pol",`$a`,ignore.case = TRUE)) %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))
  
#pole 546 do opisu fizycznego
marc_field_546 <- data %>%
  select(ZA_UWAGI,X546)%>%
  filter(X546!="") %>%
  mutate(X546=str_replace_all(X546,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X546",sep = "~",direction = "long") %>%
  filter(X546!="") %>%
  mutate(X546=str_remove_all(X546,"^\\|")) %>%
  mutate(indicator = str_replace_all(X546,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X546,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_546)[1]))
colnames(empty_table) <-subfield_list
marc_field_546<-cbind(marc_field_546,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_546$X546 <- str_replace(marc_field_546$X546,subfield_list_char[i],"|\\1")
}
Progress: 1 on 2  Progress: 2 on 2  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_546[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_546$X546),str_replace_all(gsub(string,"\\3",marc_field_546$X546),"\\${2}.", "~"),NA)
}
Progress: 1 on 2  Progress: 2 on 2  
marc_field_546 <- marc_field_546 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))

za_opis_ks <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,do_opisu),by="ZA_UWAGI") %>%
  left_join(.,marc_field_300 %>% select(ZA_UWAGI,X300a=`$a`,X300b=`$b`,X300e=`$e`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_500 %>% select(ZA_UWAGI,X500a=`$a`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_546 %>% select(ZA_UWAGI,X546a=`$a`),by="ZA_UWAGI")
za_opis_ks[is.na(za_opis_ks)]  <- ""
za_opis_ks <- za_opis_ks %>%
  mutate(za_opis_ks = paste(ifelse(do_opisu!="",paste(as.character(do_opisu),", ",sep = ""),""),ifelse(X300a!="",paste(as.character(X300a),", ",sep = ""),""),ifelse(X300b!="",paste(as.character(X300b),", ",sep = ""),""),ifelse(X300e!="",paste(as.character(X300e),", ",sep = ""),""),ifelse(X500a!="",paste(as.character(X500a),", ",sep = ""),""),ifelse(X546a!="",as.character(X546a),""),sep = ""),
         za_opis_ks = str_remove(za_opis_ks,"(, )+$")) %>%
  select(ZA_UWAGI,za_opis_ks) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(za_opis_ks))
za_opis_ks$id_grupy <- cumsum(!duplicated(za_opis_ks[1]))
za_opis_ks <- za_opis_ks[!duplicated(za_opis_ks$id_grupy),] %>%
  select(-id_grupy)

#12: seria wydawnicza
marc_field_490 <- data %>%
  select(ZA_UWAGI,X490,X800,X830) %>%
  mutate(X490 = ifelse(grepl("U\\+",X490),as.character(X830),as.character(X490))) %>%
  mutate(X800 = ifelse(X490!="","",as.character(X800)),
         X830 = ifelse(X490!="","",as.character(X830)),
         X800 = str_replace(X800,"(\\$a)(.*)(\\$t)","\\1"),
         X490 = ifelse(X490==""&X830!="",as.character(X830),
                       ifelse(X490==""&X800!="",as.character(X800),as.character(X490)))) %>%
  select(ZA_UWAGI,X490) %>%
  filter(X490!="") %>%
  mutate(X490=str_replace_all(X490,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X490",sep = "~",direction = "long") %>%
  filter(X490!="") %>%
  mutate(X490=str_remove_all(X490,"^\\|")) %>%
  mutate(indicator = str_replace_all(X490,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X490,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_490)[1]))
colnames(empty_table) <-subfield_list
marc_field_490<-cbind(marc_field_490,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_490$X490 <- str_replace(marc_field_490$X490,subfield_list_char[i],"|\\1")
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_490[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_490$X490),str_replace_all(gsub(string,"\\3",marc_field_490$X490),"\\${2}.", "~"),NA)
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
za_seria_wydawnicza <- marc_field_490 %>%
  mutate(`$a` = str_replace_all(`$a`,"(=)(\\$a)","\\1 "),
         `$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$v` = ifelse(is.na(`$v`),"",as.character(`$v`))) %>%
  filter(!is.na(`$a`)) %>%
  mutate(seria = str_remove(paste("(",`$a`,"; ",`$v`,")",sep = ""),"; (?=\\)$)"),
         seria = gsub("( : )(.)",". \\U\\2",perl=TRUE,seria)) %>%
  select(ZA_UWAGI,seria) %>%
  group_by(ZA_UWAGI) %>%
  mutate(seria = paste(seria,collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(seria = str_replace_all(seria,"\\$.","; ")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#13: tomy
za_tomy <- data %>%
  select(ZA_UWAGI) %>%
  mutate(za_tomy = NA)

#14: adnotacje
za_adnotacje <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_autor %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  mutate(ZA_ADNOTACJE = paste(ifelse(is.na(ZA_ADNOTACJE.x),"",paste(as.character(ZA_ADNOTACJE.x),"# ",sep = "")),ifelse(is.na(ZA_ADNOTACJE.y),"",as.character(ZA_ADNOTACJE.y)),sep = ""),
         ZA_ADNOTACJE = str_remove(ZA_ADNOTACJE,"(# )+$")) %>%
  select(ZA_UWAGI,ZA_ADNOTACJE) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(ZA_ADNOTACJE))
za_adnotacje$id_grupy <- cumsum(!duplicated(za_adnotacje[1]))
za_adnotacje <- za_adnotacje[!duplicated(za_adnotacje$id_grupy),] %>%
  select(-id_grupy)

#15: BN_URL
BN_URL <- data %>%
  select(ZA_UWAGI,BN_URL)

#wyrównanie liczby wierszy do liczby wierszy obiektu data
BN_autor <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_autor %>% select(ZA_UWAGI,AM_AUTOR_ID,AM_NAZWISKO,AM_IMIE),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, AM_AUTOR_ID = paste(AM_AUTOR_ID, collapse="|"), AM_NAZWISKO = paste(AM_NAZWISKO, collapse="|"), AM_IMIE = paste(AM_IMIE, collapse="|"))
BN_wspoltworca <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,OS_OSOBA_ID,OS_NAZWISKO,OS_IMIE,fo_symbol),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, OS_OSOBA_ID = paste(OS_OSOBA_ID, collapse="|"), OS_NAZWISKO = paste(OS_NAZWISKO, collapse="|"), OS_IMIE = paste(OS_IMIE, collapse="|"), fo_symbol = paste(fo_symbol, collapse="|")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL","NA",as.character(fo_symbol)))
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, WY_WYDAWNICTWO_ID = paste(WY_WYDAWNICTWO_ID, collapse="|"), WY_NAZWA = paste(WY_NAZWA, collapse="|"), WY_MIASTO = paste(WY_MIASTO, collapse="|"), za_rok_wydania = paste(unique(za_rok_wydania), collapse="|")) %>%
  mutate(za_rok_wydania = ifelse(za_rok_wydania=="NA","",as.integer(za_rok_wydania)))
pojawi戼㸳y si攼㹡 warto㤼㹣ci NA na skutek przekszta戼㸳cenia
#połączenie wszystkich elementów w jedną tabelę
kolejnosc <- data.frame(kolejnosc=c("ZA_UWAGI","RZ_NAZWA","ZA_RO_ROK","ZA_TYPE","RZ_RODZAJ_ID","DZ_NAZWA","DZ_DZIAL_ID","TW_TWORCA_ID","AM_AUTOR_ID","AM_NAZWISKO","AM_IMIE","ZA_TYTUL","ZA_TYTUL_ORYGINALU","ZA_JEZYK_ORYGINALU","OS_OSOBA_ID","OS_NAZWISKO","OS_IMIE","fo_symbol","za_opis_wspoltworcow","wydanie","za_tomy","instytucja","WY_WYDAWNICTWO_ID","WY_MIASTO","WY_NAZWA","za_rok_wydania","za_opis_ks","seria","TW_NAZWISKO","TW_IMIE","redaktor_dzialu","ZA_ADNOTACJE","BN_URL"))
polaczone <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,pola_pbl,by = "ZA_UWAGI") %>%
  left_join(.,BN_autor,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,za_jezyk_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_wspoltworcow,by = "ZA_UWAGI") %>%
  left_join(.,za_wydanie,by = "ZA_UWAGI") %>%
  left_join(.,za_instytucja,by = "ZA_UWAGI") %>%
  left_join(.,BN_wydawnictwo,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_ks,by = "ZA_UWAGI") %>%
  left_join(.,za_seria_wydawnicza,by = "ZA_UWAGI") %>%
  left_join(.,za_tomy,by = "ZA_UWAGI") %>%
  left_join(.,za_adnotacje,by = "ZA_UWAGI") %>%
  left_join(.,BN_URL,by = "ZA_UWAGI") %>%
  select(as.vector(kolejnosc$kolejnosc))
colnames(polaczone) <- c("rekord_BN","rz_nazwa","za_ro_rok","za_type","rz_rodzaj_id","DZ_NAZWA","DZ_DZIAL_ID","tw_tworca_id","am_autor_id","am_nazwisko","am_imie","za_tytul","za_tytul_oryginalu","za_jezyk_oryginalu","os_osoba_id","os_nazwisko","os_imie","fo_symbol","za_opis_wspoltworcow","za_wydanie","za_tomy","za_instytucja","wy_wydawnictwo_id","wy_miejsce","wy_nazwa","za_rok_wydania","za_opis_fizyczny_ksiazki","za_seria_wydawnicza","tw_nazwisko","tw_imie","pracownik","za_adnotacje","BN_URL")

#zasygnalizowanie niepoprawnego kodowania
x <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("<U\\+(....)>",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)!=0,paste(polaczone$za_adnotacje,paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole.",sep = ""),sep = "# "),paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole.",sep = "")),as.character(polaczone$za_adnotacje))
  polaczone[,i] <- gsub("<U\\+(....)>", "???", polaczone[,i])
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku $ w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("\\$",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności frazy "character(0)" w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("character\\(0\\)",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku # w opisie współtwórców
polaczone$za_adnotacje <- ifelse(grepl("\\#",polaczone$za_opis_wspoltworcow),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności \"#\" współtwórcy z pola 700).",paste(polaczone$za_adnotacje,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności # współtwórcy z pola 700).",sep = "# ")),as.character(polaczone$za_adnotacje))
#korekta automatycznego IOK
automatyczny_IOK <- polaczone %>%
  mutate(czy_tyt_oryg = (!grepl("polsk",DZ_NAZWA)&!is.na(za_tytul_oryginalu))|grepl("polsk",DZ_NAZWA)) %>%
  filter(za_adnotacje==""&am_nazwisko!="NA"&!grepl("pseud|nazw",za_opis_fizyczny_ksiazki)&!grepl("\\|",am_nazwisko)&czy_tyt_oryg==TRUE,
         !grepl("szkic|felieton|list",str_replace(za_tytul,"(.*)(\\[.*$)","\\2"),ignore.case = TRUE)) %>%
  select(rekord_BN) %>%
  unique() %>%
  filter(rekord_BN %notin% data$ZA_UWAGI[data$czy_automatycznie=="nie"]) %>%
  mutate(powinno_byc = "IOK")
write.csv2(automatyczny_IOK, paste("C:/Users/",employee_name,"/Desktop/imp_",import_year,"_automatyczne_podmiotowe.csv",sep = ""), row.names = F, na = '', fileEncoding = 'UTF-8')

out <- cSplit(polaczone, c("am_autor_id", "am_nazwisko", "am_imie","os_osoba_id","os_nazwisko", "os_imie", "fo_symbol","wy_wydawnictwo_id","wy_miejsce","wy_nazwa"),sep = "|",direction = "long") %>%
  unique()

out$rekord_BN <- ifelse(is.na(out$rekord_BN),'',as.character(out$rekord_BN))
out$rz_nazwa <- ifelse(is.na(out$rz_nazwa),'',as.character(out$rz_nazwa))
out$za_ro_rok <- ifelse(is.na(out$za_ro_rok),'',as.character(out$za_ro_rok))
out$za_type <- ifelse(is.na(out$za_type),'',as.character(out$za_type))
out$rz_rodzaj_id <- ifelse(is.na(out$rz_rodzaj_id),'',as.character(out$rz_rodzaj_id))
out$DZ_NAZWA <- ifelse(is.na(out$DZ_NAZWA),'',as.character(out$DZ_NAZWA))
out$DZ_DZIAL_ID <- ifelse(is.na(out$DZ_DZIAL_ID),'',as.character(out$DZ_DZIAL_ID))
out$tw_tworca_id <- ifelse(is.na(out$tw_tworca_id),'',as.character(out$tw_tworca_id))
out$am_autor_id <- ifelse(is.na(out$am_autor_id),'',as.character(out$am_autor_id))
out$am_nazwisko <- ifelse(is.na(out$am_nazwisko),'',as.character(out$am_nazwisko))
out$am_imie <- ifelse(is.na(out$am_imie),'',as.character(out$am_imie))
out$za_tytul <- ifelse(is.na(out$za_tytul),'',as.character(out$za_tytul))
out$za_tytul_oryginalu <- ifelse(is.na(out$za_tytul_oryginalu),'',as.character(out$za_tytul_oryginalu))
out$za_jezyk_oryginalu <- ifelse(is.na(out$za_jezyk_oryginalu),'',as.character(out$za_jezyk_oryginalu))
out$os_osoba_id <- ifelse(is.na(out$os_osoba_id),'',as.character(out$os_osoba_id))
out$os_nazwisko <- ifelse(is.na(out$os_nazwisko),'',as.character(out$os_nazwisko))
out$os_imie <- ifelse(is.na(out$os_imie),'',as.character(out$os_imie))
out$fo_symbol <- ifelse(is.na(out$fo_symbol),'',as.character(out$fo_symbol))
out$za_opis_wspoltworcow <- ifelse(is.na(out$za_opis_wspoltworcow),'',as.character(out$za_opis_wspoltworcow))
out$za_wydanie <- ifelse(is.na(out$za_wydanie),'',as.character(out$za_wydanie))
out$za_tomy <- ifelse(is.na(out$za_tomy),'',as.character(out$za_tomy))
out$za_instytucja <- ifelse(is.na(out$za_instytucja),'',as.character(out$za_instytucja))
out$wy_wydawnictwo_id <- ifelse(is.na(out$wy_wydawnictwo_id),'',as.character(out$wy_wydawnictwo_id))
out$wy_miejsce <- ifelse(is.na(out$wy_miejsce),'',as.character(out$wy_miejsce))
out$wy_nazwa <- ifelse(is.na(out$wy_nazwa),'',as.character(out$wy_nazwa))
out$za_rok_wydania <- ifelse(is.na(out$za_rok_wydania),'',as.character(out$za_rok_wydania))
out$za_opis_fizyczny_ksiazki <- ifelse(is.na(out$za_opis_fizyczny_ksiazki),'',as.character(out$za_opis_fizyczny_ksiazki))
out$za_seria_wydawnicza <- ifelse(is.na(out$za_seria_wydawnicza),'',as.character(out$za_seria_wydawnicza))
out$tw_nazwisko <- ifelse(is.na(out$tw_nazwisko),'',as.character(out$tw_nazwisko))
out$tw_imie <- ifelse(is.na(out$tw_imie),'',as.character(out$tw_imie))
out$pracownik <- ifelse(is.na(out$pracownik),'',as.character(out$pracownik))
out$za_adnotacje <- ifelse(is.na(out$za_adnotacje),'',as.character(out$za_adnotacje))
out$BN_URL <- ifelse(is.na(out$BN_URL),'',as.character(out$BN_URL))

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same
out$same[1] <- 0
out$dzielone <- paste(out$am_autor_id,out$am_nazwisko,out$am_imie,out$os_osoba_id,out$os_nazwisko,out$os_imie,out$fo_symbol,out$wy_wydawnictwo_id,out$wy_miejsce,out$wy_nazwa,sep = "")

out <- out %>%
  filter(!(same==1&dzielone=="")) %>%
  select(1:33)

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same

#ucięcie zbyt długich ciągów znaków, by weszły do oracle'a
dlugosci <- data.frame(pole = c("am_nazwisko", "am_imie", "za_tytul", "za_tytul_oryginalu", "za_jezyk_oryginalu", "os_nazwisko", "os_imie", "za_opis_wspoltworcow", "za_instytucja", "wy_miejsce", "wy_nazwa", "za_opis_fizyczny_ksiazki", "za_seria_wydawnicza", "tw_nazwisko", "tw_imie", "za_adnotacje"), liczba_znakow = c(50,40,500,500,100,50,40,500,255,40,255,1000,255,200,40,2000))
x <- match(dlugosci$pole,names(out))
for (i in x) {
  progress(match(i,x), max.value = length(x))
  dlugosc <- dlugosci$liczba_znakow[match(names(out[i]),dlugosci$pole)]
  out$za_adnotacje <- ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje!="",paste(out$za_adnotacje,paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),sep = "# "),
                             ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje=="",paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),as.character(out$za_adnotacje)))
  
  out[,i] <- ifelse(dlugosc<nchar(as.character(out[,i])),as.character(substr(out[,i],1,dlugosc)),as.character(out[,i]))
}
Progress:  1 on 16  Progress:  2 on 16  Progress:  3 on 16  Progress:  4 on 16  Progress:  5 on 16  Progress:  6 on 16  Progress:  7 on 16  Progress:  8 on 16  Progress:  9 on 16  Progress: 10 on 16  Progress: 11 on 16  Progress: 12 on 16  Progress: 13 on 16  Progress: 14 on 16  Progress: 15 on 16  Progress: 16 on 16  
out$rekord_BN[out$same == 1] <- ""
out$rz_nazwa[out$same == 1] <- ""
out$za_ro_rok[out$same == 1] <- ""
out$za_type[out$same == 1] <- ""
out$rz_rodzaj_id[out$same == 1] <- ""
out$DZ_NAZWA[out$same == 1] <- ""
out$DZ_DZIAL_ID[out$same == 1] <- ""
out$tw_tworca_id[out$same == 1] <- ""
out$za_tytul[out$same == 1] <- ""
out$za_tytul_oryginalu[out$same == 1] <- ""
out$za_jezyk_oryginalu[out$same == 1] <- ""
out$za_opis_wspoltworcow[out$same == 1] <- ""
out$za_wydanie[out$same == 1] <- ""
out$za_tomy[out$same == 1] <- ""
out$za_instytucja[out$same == 1] <- ""
out$za_rok_wydania[out$same == 1] <- ""
out$za_opis_fizyczny_ksiazki[out$same == 1] <- ""
out$za_seria_wydawnicza[out$same == 1] <- ""
out$tw_nazwisko[out$same == 1] <- ""
out$tw_imie[out$same == 1] <- ""
out$pracownik[out$same == 1] <- ""
out$za_adnotacje[out$same == 1] <- ""
out$BN_URL[out$same == 1] <- ""

#przypisanie do automatycznego OK redaktora "automat"
out <- out %>%
  mutate(pracownik = ifelse(rekord_BN %in% automatyczny_IOK$rekord_BN,"AUTOMAT",as.character(pracownik))) %>%
  select(1:33)

#pętla zapisująca po ok. 2000 wierszy z uwzględnieniem kompletności rekordów bibliograficznych rozpisanych na kilka wierszy
out <- out %>%
  mutate(podzial = ifelse(rekord_BN!="",as.character(rekord_BN),NA)) %>%
  fill(podzial)
ile <- unique(out$podzial)
ile <- split(unique(ile), ceiling(seq_along(unique(ile))/1500))
x <- 1:length(ile)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  final <- out %>%
    filter(podzial %in% ile[[i]]) %>%
    select(-podzial)
  write.xlsx(final, paste("C:/Users/",employee_name,"/Desktop/",import_year,"_podmiotowa_do_importu",i,".xlsx",sep = ""),sheetName = "gotowe")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
bn_ok <- chunk11
data <- bn_ok %>%
  filter(rodzaj_ksiazki=="przedmiotowa") %>%
  mutate(redaktor_dzialu = paste(redaktor_dzialu,"_przedm",sep = ""))
#uwolnienie kolumn z danymi z bn i przetworzenie do PBL
#1: za_uwagi, rz_nazwa, za_ro_rok, za_type, rz_rodzaj_id, tw_tworca_id, tw_nazwisko, tw_imie, dz_dzial_id, dz_nazwa, redaktor_dzialu
pola_pbl <- data %>%
  select(ZA_UWAGI, RZ_NAZWA, ZA_RO_ROK = rok, RZ_RODZAJ_ID, TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, redaktor_dzialu) %>%
  mutate(ZA_TYPE = "KS")
#2: autor
BN_autor <- data %>%
  select(X100,X245,ZA_UWAGI)
#pole 100
marc_field_100 <- BN_autor %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(BN_autor$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
#pole 245
marc_field_245 <- BN_autor %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(BN_autor$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
BN_autor <- marc_field_100 %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  unique() %>%
  mutate(`$a` = ifelse(!is.na(`$b`),paste(`$a`,`$b`,sep = " "),as.character(`$a`))) %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  unique() %>%
  mutate(AM_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                              ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
         AM_IMIE = ifelse(grepl("\\|",`$a`),"*",
                          ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE) %>%
  left_join(.,marc_field_245,by="ZA_UWAGI") %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE, X245c = `$c`)
  
x <- 1:lengths(BN_autor[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  BN_autor$czy_nazwisko[i] <- grepl(BN_autor$AM_NAZWISKO[i],BN_autor$X245c[i])
  BN_autor$czy_imie[i] <- grepl(BN_autor$AM_IMIE[i],BN_autor$X245c[i])
}
Progress:    1 on 1455  Progress:    2 on 1455  Progress:    3 on 1455  Progress:    4 on 1455  Progress:    5 on 1455  Progress:    6 on 1455  Progress:    7 on 1455  Progress:    8 on 1455  Progress:    9 on 1455  Progress:   10 on 1455  Progress:   11 on 1455  Progress:   12 on 1455  Progress:   13 on 1455  Progress:   14 on 1455  Progress:   15 on 1455  Progress:   16 on 1455  Progress:   17 on 1455  Progress:   18 on 1455  Progress:   19 on 1455  Progress:   20 on 1455  Progress:   21 on 1455  Progress:   22 on 1455  Progress:   23 on 1455  Progress:   24 on 1455  Progress:   25 on 1455  Progress:   26 on 1455  Progress:   27 on 1455  Progress:   28 on 1455  Progress:   29 on 1455  Progress:   30 on 1455  Progress:   31 on 1455  Progress:   32 on 1455  Progress:   33 on 1455  Progress:   34 on 1455  Progress:   35 on 1455  Progress:   36 on 1455  Progress:   37 on 1455  Progress:   38 on 1455  Progress:   39 on 1455  Progress:   40 on 1455  Progress:   41 on 1455  Progress:   42 on 1455  Progress:   43 on 1455  Progress:   44 on 1455  Progress:   45 on 1455  Progress:   46 on 1455  Progress:   47 on 1455  Progress:   48 on 1455  Progress:   49 on 1455  Progress:   50 on 1455  Progress:   51 on 1455  Progress:   52 on 1455  Progress:   53 on 1455  Progress:   54 on 1455  Progress:   55 on 1455  Progress:   56 on 1455  Progress:   57 on 1455  Progress:   58 on 1455  Progress:   59 on 1455  Progress:   60 on 1455  Progress:   61 on 1455  Progress:   62 on 1455  Progress:   63 on 1455  Progress:   64 on 1455  Progress:   65 on 1455  Progress:   66 on 1455  Progress:   67 on 1455  Progress:   68 on 1455  Progress:   69 on 1455  Progress:   70 on 1455  Progress:   71 on 1455  Progress:   72 on 1455  Progress:   73 on 1455  Progress:   74 on 1455  Progress:   75 on 1455  Progress:   76 on 1455  Progress:   77 on 1455  Progress:   78 on 1455  Progress:   79 on 1455  Progress:   80 on 1455  Progress:   81 on 1455  Progress:   82 on 1455  Progress:   83 on 1455  Progress:   84 on 1455  Progress:   85 on 1455  Progress:   86 on 1455  Progress:   87 on 1455  Progress:   88 on 1455  Progress:   89 on 1455  Progress:   90 on 1455  Progress:   91 on 1455  Progress:   92 on 1455  Progress:   93 on 1455  Progress:   94 on 1455  Progress:   95 on 1455  Progress:   96 on 1455  Progress:   97 on 1455  Progress:   98 on 1455  Progress:   99 on 1455  Progress:  100 on 1455  Progress:  101 on 1455  Progress:  102 on 1455  Progress:  103 on 1455  Progress:  104 on 1455  Progress:  105 on 1455  Progress:  106 on 1455  Progress:  107 on 1455  Progress:  108 on 1455  Progress:  109 on 1455  Progress:  110 on 1455  Progress:  111 on 1455  Progress:  112 on 1455  Progress:  113 on 1455  Progress:  114 on 1455  Progress:  115 on 1455  Progress:  116 on 1455  Progress:  117 on 1455  Progress:  118 on 1455  Progress:  119 on 1455  Progress:  120 on 1455  Progress:  121 on 1455  Progress:  122 on 1455  Progress:  123 on 1455  Progress:  124 on 1455  Progress:  125 on 1455  Progress:  126 on 1455  Progress:  127 on 1455  Progress:  128 on 1455  Progress:  129 on 1455  Progress:  130 on 1455  Progress:  131 on 1455  Progress:  132 on 1455  Progress:  133 on 1455  Progress:  134 on 1455  Progress:  135 on 1455  Progress:  136 on 1455  Progress:  137 on 1455  Progress:  138 on 1455  Progress:  139 on 1455  Progress:  140 on 1455  Progress:  141 on 1455  Progress:  142 on 1455  Progress:  143 on 1455  Progress:  144 on 1455  Progress:  145 on 1455  Progress:  146 on 1455  Progress:  147 on 1455  Progress:  148 on 1455  Progress:  149 on 1455  Progress:  150 on 1455  Progress:  151 on 1455  Progress:  152 on 1455  Progress:  153 on 1455  Progress:  154 on 1455  Progress:  155 on 1455  Progress:  156 on 1455  Progress:  157 on 1455  Progress:  158 on 1455  Progress:  159 on 1455  Progress:  160 on 1455  Progress:  161 on 1455  Progress:  162 on 1455  Progress:  163 on 1455  Progress:  164 on 1455  Progress:  165 on 1455  Progress:  166 on 1455  Progress:  167 on 1455  Progress:  168 on 1455  Progress:  169 on 1455  Progress:  170 on 1455  Progress:  171 on 1455  Progress:  172 on 1455  Progress:  173 on 1455  Progress:  174 on 1455  Progress:  175 on 1455  Progress:  176 on 1455  Progress:  177 on 1455  Progress:  178 on 1455  Progress:  179 on 1455  Progress:  180 on 1455  Progress:  181 on 1455  Progress:  182 on 1455  Progress:  183 on 1455  Progress:  184 on 1455  Progress:  185 on 1455  Progress:  186 on 1455  Progress:  187 on 1455  Progress:  188 on 1455  Progress:  189 on 1455  Progress:  190 on 1455  Progress:  191 on 1455  Progress:  192 on 1455  Progress:  193 on 1455  Progress:  194 on 1455  Progress:  195 on 1455  Progress:  196 on 1455  Progress:  197 on 1455  Progress:  198 on 1455  Progress:  199 on 1455  Progress:  200 on 1455  Progress:  201 on 1455  Progress:  202 on 1455  Progress:  203 on 1455  Progress:  204 on 1455  Progress:  205 on 1455  Progress:  206 on 1455  Progress:  207 on 1455  Progress:  208 on 1455  Progress:  209 on 1455  Progress:  210 on 1455  Progress:  211 on 1455  Progress:  212 on 1455  Progress:  213 on 1455  Progress:  214 on 1455  Progress:  215 on 1455  Progress:  216 on 1455  Progress:  217 on 1455  Progress:  218 on 1455  Progress:  219 on 1455  Progress:  220 on 1455  Progress:  221 on 1455  Progress:  222 on 1455  Progress:  223 on 1455  Progress:  224 on 1455  Progress:  225 on 1455  Progress:  226 on 1455  Progress:  227 on 1455  Progress:  228 on 1455  Progress:  229 on 1455  Progress:  230 on 1455  Progress:  231 on 1455  Progress:  232 on 1455  Progress:  233 on 1455  Progress:  234 on 1455  Progress:  235 on 1455  Progress:  236 on 1455  Progress:  237 on 1455  Progress:  238 on 1455  Progress:  239 on 1455  Progress:  240 on 1455  Progress:  241 on 1455  Progress:  242 on 1455  Progress:  243 on 1455  Progress:  244 on 1455  Progress:  245 on 1455  Progress:  246 on 1455  Progress:  247 on 1455  Progress:  248 on 1455  Progress:  249 on 1455  Progress:  250 on 1455  Progress:  251 on 1455  Progress:  252 on 1455  Progress:  253 on 1455  Progress:  254 on 1455  Progress:  255 on 1455  Progress:  256 on 1455  Progress:  257 on 1455  Progress:  258 on 1455  Progress:  259 on 1455  Progress:  260 on 1455  Progress:  261 on 1455  Progress:  262 on 1455  Progress:  263 on 1455  Progress:  264 on 1455  Progress:  265 on 1455  Progress:  266 on 1455  Progress:  267 on 1455  Progress:  268 on 1455  Progress:  269 on 1455  Progress:  270 on 1455  Progress:  271 on 1455  Progress:  272 on 1455  Progress:  273 on 1455  Progress:  274 on 1455  Progress:  275 on 1455  Progress:  276 on 1455  Progress:  277 on 1455  Progress:  278 on 1455  Progress:  279 on 1455  Progress:  280 on 1455  Progress:  281 on 1455  Progress:  282 on 1455  Progress:  283 on 1455  Progress:  284 on 1455  Progress:  285 on 1455  Progress:  286 on 1455  Progress:  287 on 1455  Progress:  288 on 1455  Progress:  289 on 1455  Progress:  290 on 1455  Progress:  291 on 1455  Progress:  292 on 1455  Progress:  293 on 1455  Progress:  294 on 1455  Progress:  295 on 1455  Progress:  296 on 1455  Progress:  297 on 1455  Progress:  298 on 1455  Progress:  299 on 1455  Progress:  300 on 1455  Progress:  301 on 1455  Progress:  302 on 1455  Progress:  303 on 1455  Progress:  304 on 1455  Progress:  305 on 1455  Progress:  306 on 1455  Progress:  307 on 1455  Progress:  308 on 1455  Progress:  309 on 1455  Progress:  310 on 1455  Progress:  311 on 1455  Progress:  312 on 1455  Progress:  313 on 1455  Progress:  314 on 1455  Progress:  315 on 1455  Progress:  316 on 1455  Progress:  317 on 1455  Progress:  318 on 1455  Progress:  319 on 1455  Progress:  320 on 1455  Progress:  321 on 1455  Progress:  322 on 1455  Progress:  323 on 1455  Progress:  324 on 1455  Progress:  325 on 1455  Progress:  326 on 1455  Progress:  327 on 1455  Progress:  328 on 1455  Progress:  329 on 1455  Progress:  330 on 1455  Progress:  331 on 1455  Progress:  332 on 1455  Progress:  333 on 1455  Progress:  334 on 1455  Progress:  335 on 1455  Progress:  336 on 1455  Progress:  337 on 1455  Progress:  338 on 1455  Progress:  339 on 1455  Progress:  340 on 1455  Progress:  341 on 1455  Progress:  342 on 1455  Progress:  343 on 1455  Progress:  344 on 1455  Progress:  345 on 1455  Progress:  346 on 1455  Progress:  347 on 1455  Progress:  348 on 1455  Progress:  349 on 1455  Progress:  350 on 1455  Progress:  351 on 1455  Progress:  352 on 1455  Progress:  353 on 1455  Progress:  354 on 1455  Progress:  355 on 1455  Progress:  356 on 1455  Progress:  357 on 1455  Progress:  358 on 1455  Progress:  359 on 1455  Progress:  360 on 1455  Progress:  361 on 1455  Progress:  362 on 1455  Progress:  363 on 1455  Progress:  364 on 1455  Progress:  365 on 1455  Progress:  366 on 1455  Progress:  367 on 1455  Progress:  368 on 1455  Progress:  369 on 1455  Progress:  370 on 1455  Progress:  371 on 1455  Progress:  372 on 1455  Progress:  373 on 1455  Progress:  374 on 1455  Progress:  375 on 1455  Progress:  376 on 1455  Progress:  377 on 1455  Progress:  378 on 1455  Progress:  379 on 1455  Progress:  380 on 1455  Progress:  381 on 1455  Progress:  382 on 1455  Progress:  383 on 1455  Progress:  384 on 1455  Progress:  385 on 1455  Progress:  386 on 1455  Progress:  387 on 1455  Progress:  388 on 1455  Progress:  389 on 1455  Progress:  390 on 1455  Progress:  391 on 1455  Progress:  392 on 1455  Progress:  393 on 1455  Progress:  394 on 1455  Progress:  395 on 1455  Progress:  396 on 1455  Progress:  397 on 1455  Progress:  398 on 1455  Progress:  399 on 1455  Progress:  400 on 1455  Progress:  401 on 1455  Progress:  402 on 1455  Progress:  403 on 1455  Progress:  404 on 1455  Progress:  405 on 1455  Progress:  406 on 1455  Progress:  407 on 1455  Progress:  408 on 1455  Progress:  409 on 1455  Progress:  410 on 1455  Progress:  411 on 1455  Progress:  412 on 1455  Progress:  413 on 1455  Progress:  414 on 1455  Progress:  415 on 1455  Progress:  416 on 1455  Progress:  417 on 1455  Progress:  418 on 1455  Progress:  419 on 1455  Progress:  420 on 1455  Progress:  421 on 1455  Progress:  422 on 1455  Progress:  423 on 1455  Progress:  424 on 1455  Progress:  425 on 1455  Progress:  426 on 1455  Progress:  427 on 1455  Progress:  428 on 1455  Progress:  429 on 1455  Progress:  430 on 1455  Progress:  431 on 1455  Progress:  432 on 1455  Progress:  433 on 1455  Progress:  434 on 1455  Progress:  435 on 1455  Progress:  436 on 1455  Progress:  437 on 1455  Progress:  438 on 1455  Progress:  439 on 1455  Progress:  440 on 1455  Progress:  441 on 1455  Progress:  442 on 1455  Progress:  443 on 1455  Progress:  444 on 1455  Progress:  445 on 1455  Progress:  446 on 1455  Progress:  447 on 1455  Progress:  448 on 1455  Progress:  449 on 1455  Progress:  450 on 1455  Progress:  451 on 1455  Progress:  452 on 1455  Progress:  453 on 1455  Progress:  454 on 1455  Progress:  455 on 1455  Progress:  456 on 1455  Progress:  457 on 1455  Progress:  458 on 1455  Progress:  459 on 1455  Progress:  460 on 1455  Progress:  461 on 1455  Progress:  462 on 1455  Progress:  463 on 1455  Progress:  464 on 1455  Progress:  465 on 1455  Progress:  466 on 1455  Progress:  467 on 1455  Progress:  468 on 1455  Progress:  469 on 1455  Progress:  470 on 1455  Progress:  471 on 1455  Progress:  472 on 1455  Progress:  473 on 1455  Progress:  474 on 1455  Progress:  475 on 1455  Progress:  476 on 1455  Progress:  477 on 1455  Progress:  478 on 1455  Progress:  479 on 1455  Progress:  480 on 1455  Progress:  481 on 1455  Progress:  482 on 1455  Progress:  483 on 1455  Progress:  484 on 1455  Progress:  485 on 1455  Progress:  486 on 1455  Progress:  487 on 1455  Progress:  488 on 1455  Progress:  489 on 1455  Progress:  490 on 1455  Progress:  491 on 1455  Progress:  492 on 1455  Progress:  493 on 1455  Progress:  494 on 1455  Progress:  495 on 1455  Progress:  496 on 1455  Progress:  497 on 1455  Progress:  498 on 1455  Progress:  499 on 1455  Progress:  500 on 1455  Progress:  501 on 1455  Progress:  502 on 1455  Progress:  503 on 1455  Progress:  504 on 1455  Progress:  505 on 1455  Progress:  506 on 1455  Progress:  507 on 1455  Progress:  508 on 1455  Progress:  509 on 1455  Progress:  510 on 1455  Progress:  511 on 1455  Progress:  512 on 1455  Progress:  513 on 1455  Progress:  514 on 1455  Progress:  515 on 1455  Progress:  516 on 1455  Progress:  517 on 1455  Progress:  518 on 1455  Progress:  519 on 1455  Progress:  520 on 1455  Progress:  521 on 1455  Progress:  522 on 1455  Progress:  523 on 1455  Progress:  524 on 1455  Progress:  525 on 1455  Progress:  526 on 1455  Progress:  527 on 1455  Progress:  528 on 1455  Progress:  529 on 1455  Progress:  530 on 1455  Progress:  531 on 1455  Progress:  532 on 1455  Progress:  533 on 1455  Progress:  534 on 1455  Progress:  535 on 1455  Progress:  536 on 1455  Progress:  537 on 1455  Progress:  538 on 1455  Progress:  539 on 1455  Progress:  540 on 1455  Progress:  541 on 1455  Progress:  542 on 1455  Progress:  543 on 1455  Progress:  544 on 1455  Progress:  545 on 1455  Progress:  546 on 1455  Progress:  547 on 1455  Progress:  548 on 1455  Progress:  549 on 1455  Progress:  550 on 1455  Progress:  551 on 1455  Progress:  552 on 1455  Progress:  553 on 1455  Progress:  554 on 1455  Progress:  555 on 1455  Progress:  556 on 1455  Progress:  557 on 1455  Progress:  558 on 1455  Progress:  559 on 1455  Progress:  560 on 1455  Progress:  561 on 1455  Progress:  562 on 1455  Progress:  563 on 1455  Progress:  564 on 1455  Progress:  565 on 1455  Progress:  566 on 1455  Progress:  567 on 1455  Progress:  568 on 1455  Progress:  569 on 1455  Progress:  570 on 1455  Progress:  571 on 1455  Progress:  572 on 1455  Progress:  573 on 1455  Progress:  574 on 1455  Progress:  575 on 1455  Progress:  576 on 1455  Progress:  577 on 1455  Progress:  578 on 1455  Progress:  579 on 1455  Progress:  580 on 1455  Progress:  581 on 1455  Progress:  582 on 1455  Progress:  583 on 1455  Progress:  584 on 1455  Progress:  585 on 1455  Progress:  586 on 1455  Progress:  587 on 1455  Progress:  588 on 1455  Progress:  589 on 1455  Progress:  590 on 1455  Progress:  591 on 1455  Progress:  592 on 1455  Progress:  593 on 1455  Progress:  594 on 1455  Progress:  595 on 1455  Progress:  596 on 1455  Progress:  597 on 1455  Progress:  598 on 1455  Progress:  599 on 1455  Progress:  600 on 1455  Progress:  601 on 1455  Progress:  602 on 1455  Progress:  603 on 1455  Progress:  604 on 1455  Progress:  605 on 1455  Progress:  606 on 1455  Progress:  607 on 1455  Progress:  608 on 1455  Progress:  609 on 1455  Progress:  610 on 1455  Progress:  611 on 1455  Progress:  612 on 1455  Progress:  613 on 1455  Progress:  614 on 1455  Progress:  615 on 1455  Progress:  616 on 1455  Progress:  617 on 1455  Progress:  618 on 1455  Progress:  619 on 1455  Progress:  620 on 1455  Progress:  621 on 1455  Progress:  622 on 1455  Progress:  623 on 1455  Progress:  624 on 1455  Progress:  625 on 1455  Progress:  626 on 1455  Progress:  627 on 1455  Progress:  628 on 1455  Progress:  629 on 1455  Progress:  630 on 1455  Progress:  631 on 1455  Progress:  632 on 1455  Progress:  633 on 1455  Progress:  634 on 1455  Progress:  635 on 1455  Progress:  636 on 1455  Progress:  637 on 1455  Progress:  638 on 1455  Progress:  639 on 1455  Progress:  640 on 1455  Progress:  641 on 1455  Progress:  642 on 1455  Progress:  643 on 1455  Progress:  644 on 1455  Progress:  645 on 1455  Progress:  646 on 1455  Progress:  647 on 1455  Progress:  648 on 1455  Progress:  649 on 1455  Progress:  650 on 1455  Progress:  651 on 1455  Progress:  652 on 1455  Progress:  653 on 1455  Progress:  654 on 1455  Progress:  655 on 1455  Progress:  656 on 1455  Progress:  657 on 1455  Progress:  658 on 1455  Progress:  659 on 1455  Progress:  660 on 1455  Progress:  661 on 1455  Progress:  662 on 1455  Progress:  663 on 1455  Progress:  664 on 1455  Progress:  665 on 1455  Progress:  666 on 1455  Progress:  667 on 1455  Progress:  668 on 1455  Progress:  669 on 1455  Progress:  670 on 1455  Progress:  671 on 1455  Progress:  672 on 1455  Progress:  673 on 1455  Progress:  674 on 1455  Progress:  675 on 1455  Progress:  676 on 1455  Progress:  677 on 1455  Progress:  678 on 1455  Progress:  679 on 1455  Progress:  680 on 1455  Progress:  681 on 1455  Progress:  682 on 1455  Progress:  683 on 1455  Progress:  684 on 1455  Progress:  685 on 1455  Progress:  686 on 1455  Progress:  687 on 1455  Progress:  688 on 1455  Progress:  689 on 1455  Progress:  690 on 1455  Progress:  691 on 1455  Progress:  692 on 1455  Progress:  693 on 1455  Progress:  694 on 1455  Progress:  695 on 1455  Progress:  696 on 1455  Progress:  697 on 1455  Progress:  698 on 1455  Progress:  699 on 1455  Progress:  700 on 1455  Progress:  701 on 1455  Progress:  702 on 1455  Progress:  703 on 1455  Progress:  704 on 1455  Progress:  705 on 1455  Progress:  706 on 1455  Progress:  707 on 1455  Progress:  708 on 1455  Progress:  709 on 1455  Progress:  710 on 1455  Progress:  711 on 1455  Progress:  712 on 1455  Progress:  713 on 1455  Progress:  714 on 1455  Progress:  715 on 1455  Progress:  716 on 1455  Progress:  717 on 1455  Progress:  718 on 1455  Progress:  719 on 1455  Progress:  720 on 1455  Progress:  721 on 1455  Progress:  722 on 1455  Progress:  723 on 1455  Progress:  724 on 1455  Progress:  725 on 1455  Progress:  726 on 1455  Progress:  727 on 1455  Progress:  728 on 1455  Progress:  729 on 1455  Progress:  730 on 1455  Progress:  731 on 1455  Progress:  732 on 1455  Progress:  733 on 1455  Progress:  734 on 1455  Progress:  735 on 1455  Progress:  736 on 1455  Progress:  737 on 1455  Progress:  738 on 1455  Progress:  739 on 1455  Progress:  740 on 1455  Progress:  741 on 1455  Progress:  742 on 1455  Progress:  743 on 1455  Progress:  744 on 1455  Progress:  745 on 1455  Progress:  746 on 1455  Progress:  747 on 1455  Progress:  748 on 1455  Progress:  749 on 1455  Progress:  750 on 1455  Progress:  751 on 1455  Progress:  752 on 1455  Progress:  753 on 1455  Progress:  754 on 1455  Progress:  755 on 1455  Progress:  756 on 1455  Progress:  757 on 1455  Progress:  758 on 1455  Progress:  759 on 1455  Progress:  760 on 1455  Progress:  761 on 1455  Progress:  762 on 1455  Progress:  763 on 1455  Progress:  764 on 1455  Progress:  765 on 1455  Progress:  766 on 1455  Progress:  767 on 1455  Progress:  768 on 1455  Progress:  769 on 1455  Progress:  770 on 1455  Progress:  771 on 1455  Progress:  772 on 1455  Progress:  773 on 1455  Progress:  774 on 1455  Progress:  775 on 1455  Progress:  776 on 1455  Progress:  777 on 1455  Progress:  778 on 1455  Progress:  779 on 1455  Progress:  780 on 1455  Progress:  781 on 1455  Progress:  782 on 1455  Progress:  783 on 1455  Progress:  784 on 1455  Progress:  785 on 1455  Progress:  786 on 1455  Progress:  787 on 1455  Progress:  788 on 1455  Progress:  789 on 1455  Progress:  790 on 1455  Progress:  791 on 1455  Progress:  792 on 1455  Progress:  793 on 1455  Progress:  794 on 1455  Progress:  795 on 1455  Progress:  796 on 1455  Progress:  797 on 1455  Progress:  798 on 1455  Progress:  799 on 1455  Progress:  800 on 1455  Progress:  801 on 1455  Progress:  802 on 1455  Progress:  803 on 1455  Progress:  804 on 1455  Progress:  805 on 1455  Progress:  806 on 1455  Progress:  807 on 1455  Progress:  808 on 1455  Progress:  809 on 1455  Progress:  810 on 1455  Progress:  811 on 1455  Progress:  812 on 1455  Progress:  813 on 1455  Progress:  814 on 1455  Progress:  815 on 1455  Progress:  816 on 1455  Progress:  817 on 1455  Progress:  818 on 1455  Progress:  819 on 1455  Progress:  820 on 1455  Progress:  821 on 1455  Progress:  822 on 1455  Progress:  823 on 1455  Progress:  824 on 1455  Progress:  825 on 1455  Progress:  826 on 1455  Progress:  827 on 1455  Progress:  828 on 1455  Progress:  829 on 1455  Progress:  830 on 1455  Progress:  831 on 1455  Progress:  832 on 1455  Progress:  833 on 1455  Progress:  834 on 1455  Progress:  835 on 1455  Progress:  836 on 1455  Progress:  837 on 1455  Progress:  838 on 1455  Progress:  839 on 1455  Progress:  840 on 1455  Progress:  841 on 1455  Progress:  842 on 1455  Progress:  843 on 1455  Progress:  844 on 1455  Progress:  845 on 1455  Progress:  846 on 1455  Progress:  847 on 1455  Progress:  848 on 1455  Progress:  849 on 1455  Progress:  850 on 1455  Progress:  851 on 1455  Progress:  852 on 1455  Progress:  853 on 1455  Progress:  854 on 1455  Progress:  855 on 1455  Progress:  856 on 1455  Progress:  857 on 1455  Progress:  858 on 1455  Progress:  859 on 1455  Progress:  860 on 1455  Progress:  861 on 1455  Progress:  862 on 1455  Progress:  863 on 1455  Progress:  864 on 1455  Progress:  865 on 1455  Progress:  866 on 1455  Progress:  867 on 1455  Progress:  868 on 1455  Progress:  869 on 1455  Progress:  870 on 1455  Progress:  871 on 1455  Progress:  872 on 1455  Progress:  873 on 1455  Progress:  874 on 1455  Progress:  875 on 1455  Progress:  876 on 1455  Progress:  877 on 1455  Progress:  878 on 1455  Progress:  879 on 1455  Progress:  880 on 1455  Progress:  881 on 1455  Progress:  882 on 1455  Progress:  883 on 1455  Progress:  884 on 1455  Progress:  885 on 1455  Progress:  886 on 1455  Progress:  887 on 1455  Progress:  888 on 1455  Progress:  889 on 1455  Progress:  890 on 1455  Progress:  891 on 1455  Progress:  892 on 1455  Progress:  893 on 1455  Progress:  894 on 1455  Progress:  895 on 1455  Progress:  896 on 1455  Progress:  897 on 1455  Progress:  898 on 1455  Progress:  899 on 1455  Progress:  900 on 1455  Progress:  901 on 1455  Progress:  902 on 1455  Progress:  903 on 1455  Progress:  904 on 1455  Progress:  905 on 1455  Progress:  906 on 1455  Progress:  907 on 1455  Progress:  908 on 1455  Progress:  909 on 1455  Progress:  910 on 1455  Progress:  911 on 1455  Progress:  912 on 1455  Progress:  913 on 1455  Progress:  914 on 1455  Progress:  915 on 1455  Progress:  916 on 1455  Progress:  917 on 1455  Progress:  918 on 1455  Progress:  919 on 1455  Progress:  920 on 1455  Progress:  921 on 1455  Progress:  922 on 1455  Progress:  923 on 1455  Progress:  924 on 1455  Progress:  925 on 1455  Progress:  926 on 1455  Progress:  927 on 1455  Progress:  928 on 1455  Progress:  929 on 1455  Progress:  930 on 1455  Progress:  931 on 1455  Progress:  932 on 1455  Progress:  933 on 1455  Progress:  934 on 1455  Progress:  935 on 1455  Progress:  936 on 1455  Progress:  937 on 1455  Progress:  938 on 1455  Progress:  939 on 1455  Progress:  940 on 1455  Progress:  941 on 1455  Progress:  942 on 1455  Progress:  943 on 1455  Progress:  944 on 1455  Progress:  945 on 1455  Progress:  946 on 1455  Progress:  947 on 1455  Progress:  948 on 1455  Progress:  949 on 1455  Progress:  950 on 1455  Progress:  951 on 1455  Progress:  952 on 1455  Progress:  953 on 1455  Progress:  954 on 1455  Progress:  955 on 1455  Progress:  956 on 1455  Progress:  957 on 1455  Progress:  958 on 1455  Progress:  959 on 1455  Progress:  960 on 1455  Progress:  961 on 1455  Progress:  962 on 1455  Progress:  963 on 1455  Progress:  964 on 1455  Progress:  965 on 1455  Progress:  966 on 1455  Progress:  967 on 1455  Progress:  968 on 1455  Progress:  969 on 1455  Progress:  970 on 1455  Progress:  971 on 1455  Progress:  972 on 1455  Progress:  973 on 1455  Progress:  974 on 1455  Progress:  975 on 1455  Progress:  976 on 1455  Progress:  977 on 1455  Progress:  978 on 1455  Progress:  979 on 1455  Progress:  980 on 1455  Progress:  981 on 1455  Progress:  982 on 1455  Progress:  983 on 1455  Progress:  984 on 1455  Progress:  985 on 1455  Progress:  986 on 1455  Progress:  987 on 1455  Progress:  988 on 1455  Progress:  989 on 1455  Progress:  990 on 1455  Progress:  991 on 1455  Progress:  992 on 1455  Progress:  993 on 1455  Progress:  994 on 1455  Progress:  995 on 1455  Progress:  996 on 1455  Progress:  997 on 1455  Progress:  998 on 1455  Progress:  999 on 1455  Progress: 1000 on 1455  Progress: 1001 on 1455  Progress: 1002 on 1455  Progress: 1003 on 1455  Progress: 1004 on 1455  Progress: 1005 on 1455  Progress: 1006 on 1455  Progress: 1007 on 1455  Progress: 1008 on 1455  Progress: 1009 on 1455  Progress: 1010 on 1455  Progress: 1011 on 1455  Progress: 1012 on 1455  Progress: 1013 on 1455  Progress: 1014 on 1455  Progress: 1015 on 1455  Progress: 1016 on 1455  Progress: 1017 on 1455  Progress: 1018 on 1455  Progress: 1019 on 1455  Progress: 1020 on 1455  Progress: 1021 on 1455  Progress: 1022 on 1455  Progress: 1023 on 1455  Progress: 1024 on 1455  Progress: 1025 on 1455  Progress: 1026 on 1455  Progress: 1027 on 1455  Progress: 1028 on 1455  Progress: 1029 on 1455  Progress: 1030 on 1455  Progress: 1031 on 1455  Progress: 1032 on 1455  Progress: 1033 on 1455  Progress: 1034 on 1455  Progress: 1035 on 1455  Progress: 1036 on 1455  Progress: 1037 on 1455  Progress: 1038 on 1455  Progress: 1039 on 1455  Progress: 1040 on 1455  Progress: 1041 on 1455  Progress: 1042 on 1455  Progress: 1043 on 1455  Progress: 1044 on 1455  Progress: 1045 on 1455  Progress: 1046 on 1455  Progress: 1047 on 1455  Progress: 1048 on 1455  Progress: 1049 on 1455  Progress: 1050 on 1455  Progress: 1051 on 1455  Progress: 1052 on 1455  Progress: 1053 on 1455  Progress: 1054 on 1455  Progress: 1055 on 1455  Progress: 1056 on 1455  Progress: 1057 on 1455  Progress: 1058 on 1455  Progress: 1059 on 1455  Progress: 1060 on 1455  Progress: 1061 on 1455  Progress: 1062 on 1455  Progress: 1063 on 1455  Progress: 1064 on 1455  Progress: 1065 on 1455  Progress: 1066 on 1455  Progress: 1067 on 1455  Progress: 1068 on 1455  Progress: 1069 on 1455  Progress: 1070 on 1455  Progress: 1071 on 1455  Progress: 1072 on 1455  Progress: 1073 on 1455  Progress: 1074 on 1455  Progress: 1075 on 1455  Progress: 1076 on 1455  Progress: 1077 on 1455  Progress: 1078 on 1455  Progress: 1079 on 1455  Progress: 1080 on 1455  Progress: 1081 on 1455  Progress: 1082 on 1455  Progress: 1083 on 1455  Progress: 1084 on 1455  Progress: 1085 on 1455  Progress: 1086 on 1455  Progress: 1087 on 1455  Progress: 1088 on 1455  Progress: 1089 on 1455  Progress: 1090 on 1455  Progress: 1091 on 1455  Progress: 1092 on 1455  Progress: 1093 on 1455  Progress: 1094 on 1455  Progress: 1095 on 1455  Progress: 1096 on 1455  Progress: 1097 on 1455  Progress: 1098 on 1455  Progress: 1099 on 1455  Progress: 1100 on 1455  Progress: 1101 on 1455  Progress: 1102 on 1455  Progress: 1103 on 1455  Progress: 1104 on 1455  Progress: 1105 on 1455  Progress: 1106 on 1455  Progress: 1107 on 1455  Progress: 1108 on 1455  Progress: 1109 on 1455  Progress: 1110 on 1455  Progress: 1111 on 1455  Progress: 1112 on 1455  Progress: 1113 on 1455  Progress: 1114 on 1455  Progress: 1115 on 1455  Progress: 1116 on 1455  Progress: 1117 on 1455  Progress: 1118 on 1455  Progress: 1119 on 1455  Progress: 1120 on 1455  Progress: 1121 on 1455  Progress: 1122 on 1455  Progress: 1123 on 1455  Progress: 1124 on 1455  Progress: 1125 on 1455  Progress: 1126 on 1455  Progress: 1127 on 1455  Progress: 1128 on 1455  Progress: 1129 on 1455  Progress: 1130 on 1455  Progress: 1131 on 1455  Progress: 1132 on 1455  Progress: 1133 on 1455  Progress: 1134 on 1455  Progress: 1135 on 1455  Progress: 1136 on 1455  Progress: 1137 on 1455  Progress: 1138 on 1455  Progress: 1139 on 1455  Progress: 1140 on 1455  Progress: 1141 on 1455  Progress: 1142 on 1455  Progress: 1143 on 1455  Progress: 1144 on 1455  Progress: 1145 on 1455  Progress: 1146 on 1455  Progress: 1147 on 1455  Progress: 1148 on 1455  Progress: 1149 on 1455  Progress: 1150 on 1455  Progress: 1151 on 1455  Progress: 1152 on 1455  Progress: 1153 on 1455  Progress: 1154 on 1455  Progress: 1155 on 1455  Progress: 1156 on 1455  Progress: 1157 on 1455  Progress: 1158 on 1455  Progress: 1159 on 1455  Progress: 1160 on 1455  Progress: 1161 on 1455  Progress: 1162 on 1455  Progress: 1163 on 1455  Progress: 1164 on 1455  Progress: 1165 on 1455  Progress: 1166 on 1455  Progress: 1167 on 1455  Progress: 1168 on 1455  Progress: 1169 on 1455  Progress: 1170 on 1455  Progress: 1171 on 1455  Progress: 1172 on 1455  Progress: 1173 on 1455  Progress: 1174 on 1455  Progress: 1175 on 1455  Progress: 1176 on 1455  Progress: 1177 on 1455  Progress: 1178 on 1455  Progress: 1179 on 1455  Progress: 1180 on 1455  Progress: 1181 on 1455  Progress: 1182 on 1455  Progress: 1183 on 1455  Progress: 1184 on 1455  Progress: 1185 on 1455  Progress: 1186 on 1455  Progress: 1187 on 1455  Progress: 1188 on 1455  Progress: 1189 on 1455  Progress: 1190 on 1455  Progress: 1191 on 1455  Progress: 1192 on 1455  Progress: 1193 on 1455  Progress: 1194 on 1455  Progress: 1195 on 1455  Progress: 1196 on 1455  Progress: 1197 on 1455  Progress: 1198 on 1455  Progress: 1199 on 1455  Progress: 1200 on 1455  Progress: 1201 on 1455  Progress: 1202 on 1455  Progress: 1203 on 1455  Progress: 1204 on 1455  Progress: 1205 on 1455  Progress: 1206 on 1455  Progress: 1207 on 1455  Progress: 1208 on 1455  Progress: 1209 on 1455  Progress: 1210 on 1455  Progress: 1211 on 1455  Progress: 1212 on 1455  Progress: 1213 on 1455  Progress: 1214 on 1455  Progress: 1215 on 1455  Progress: 1216 on 1455  Progress: 1217 on 1455  Progress: 1218 on 1455  Progress: 1219 on 1455  Progress: 1220 on 1455  Progress: 1221 on 1455  Progress: 1222 on 1455  Progress: 1223 on 1455  Progress: 1224 on 1455  Progress: 1225 on 1455  Progress: 1226 on 1455  Progress: 1227 on 1455  Progress: 1228 on 1455  Progress: 1229 on 1455  Progress: 1230 on 1455  Progress: 1231 on 1455  Progress: 1232 on 1455  Progress: 1233 on 1455  Progress: 1234 on 1455  Progress: 1235 on 1455  Progress: 1236 on 1455  Progress: 1237 on 1455  Progress: 1238 on 1455  Progress: 1239 on 1455  Progress: 1240 on 1455  Progress: 1241 on 1455  Progress: 1242 on 1455  Progress: 1243 on 1455  Progress: 1244 on 1455  Progress: 1245 on 1455  Progress: 1246 on 1455  Progress: 1247 on 1455  Progress: 1248 on 1455  Progress: 1249 on 1455  Progress: 1250 on 1455  Progress: 1251 on 1455  Progress: 1252 on 1455  Progress: 1253 on 1455  Progress: 1254 on 1455  Progress: 1255 on 1455  Progress: 1256 on 1455  Progress: 1257 on 1455  Progress: 1258 on 1455  Progress: 1259 on 1455  Progress: 1260 on 1455  Progress: 1261 on 1455  Progress: 1262 on 1455  Progress: 1263 on 1455  Progress: 1264 on 1455  Progress: 1265 on 1455  Progress: 1266 on 1455  Progress: 1267 on 1455  Progress: 1268 on 1455  Progress: 1269 on 1455  Progress: 1270 on 1455  Progress: 1271 on 1455  Progress: 1272 on 1455  Progress: 1273 on 1455  Progress: 1274 on 1455  Progress: 1275 on 1455  Progress: 1276 on 1455  Progress: 1277 on 1455  Progress: 1278 on 1455  Progress: 1279 on 1455  Progress: 1280 on 1455  Progress: 1281 on 1455  Progress: 1282 on 1455  Progress: 1283 on 1455  Progress: 1284 on 1455  Progress: 1285 on 1455  Progress: 1286 on 1455  Progress: 1287 on 1455  Progress: 1288 on 1455  Progress: 1289 on 1455  Progress: 1290 on 1455  Progress: 1291 on 1455  Progress: 1292 on 1455  Progress: 1293 on 1455  Progress: 1294 on 1455  Progress: 1295 on 1455  Progress: 1296 on 1455  Progress: 1297 on 1455  Progress: 1298 on 1455  Progress: 1299 on 1455  Progress: 1300 on 1455  Progress: 1301 on 1455  Progress: 1302 on 1455  Progress: 1303 on 1455  Progress: 1304 on 1455  Progress: 1305 on 1455  Progress: 1306 on 1455  Progress: 1307 on 1455  Progress: 1308 on 1455  Progress: 1309 on 1455  Progress: 1310 on 1455  Progress: 1311 on 1455  Progress: 1312 on 1455  Progress: 1313 on 1455  Progress: 1314 on 1455  Progress: 1315 on 1455  Progress: 1316 on 1455  Progress: 1317 on 1455  Progress: 1318 on 1455  Progress: 1319 on 1455  Progress: 1320 on 1455  Progress: 1321 on 1455  Progress: 1322 on 1455  Progress: 1323 on 1455  Progress: 1324 on 1455  Progress: 1325 on 1455  Progress: 1326 on 1455  Progress: 1327 on 1455  Progress: 1328 on 1455  Progress: 1329 on 1455  Progress: 1330 on 1455  Progress: 1331 on 1455  Progress: 1332 on 1455  Progress: 1333 on 1455  Progress: 1334 on 1455  Progress: 1335 on 1455  Progress: 1336 on 1455  Progress: 1337 on 1455  Progress: 1338 on 1455  Progress: 1339 on 1455  Progress: 1340 on 1455  Progress: 1341 on 1455  Progress: 1342 on 1455  Progress: 1343 on 1455  Progress: 1344 on 1455  Progress: 1345 on 1455  Progress: 1346 on 1455  Progress: 1347 on 1455  Progress: 1348 on 1455  Progress: 1349 on 1455  Progress: 1350 on 1455  Progress: 1351 on 1455  Progress: 1352 on 1455  Progress: 1353 on 1455  Progress: 1354 on 1455  Progress: 1355 on 1455  Progress: 1356 on 1455  Progress: 1357 on 1455  Progress: 1358 on 1455  Progress: 1359 on 1455  Progress: 1360 on 1455  Progress: 1361 on 1455  Progress: 1362 on 1455  Progress: 1363 on 1455  Progress: 1364 on 1455  Progress: 1365 on 1455  Progress: 1366 on 1455  Progress: 1367 on 1455  Progress: 1368 on 1455  Progress: 1369 on 1455  Progress: 1370 on 1455  Progress: 1371 on 1455  Progress: 1372 on 1455  Progress: 1373 on 1455  Progress: 1374 on 1455  Progress: 1375 on 1455  Progress: 1376 on 1455  Progress: 1377 on 1455  Progress: 1378 on 1455  Progress: 1379 on 1455  Progress: 1380 on 1455  Progress: 1381 on 1455  Progress: 1382 on 1455  Progress: 1383 on 1455  Progress: 1384 on 1455  Progress: 1385 on 1455  Progress: 1386 on 1455  Progress: 1387 on 1455  Progress: 1388 on 1455  Progress: 1389 on 1455  Progress: 1390 on 1455  Progress: 1391 on 1455  Progress: 1392 on 1455  Progress: 1393 on 1455  Progress: 1394 on 1455  Progress: 1395 on 1455  Progress: 1396 on 1455  Progress: 1397 on 1455  Progress: 1398 on 1455  Progress: 1399 on 1455  Progress: 1400 on 1455  Progress: 1401 on 1455  Progress: 1402 on 1455  Progress: 1403 on 1455  Progress: 1404 on 1455  Progress: 1405 on 1455  Progress: 1406 on 1455  Progress: 1407 on 1455  Progress: 1408 on 1455  Progress: 1409 on 1455  Progress: 1410 on 1455  Progress: 1411 on 1455  Progress: 1412 on 1455  Progress: 1413 on 1455  Progress: 1414 on 1455  Progress: 1415 on 1455  Progress: 1416 on 1455  Progress: 1417 on 1455  Progress: 1418 on 1455  Progress: 1419 on 1455  Progress: 1420 on 1455  Progress: 1421 on 1455  Progress: 1422 on 1455  Progress: 1423 on 1455  Progress: 1424 on 1455  Progress: 1425 on 1455  Progress: 1426 on 1455  Progress: 1427 on 1455  Progress: 1428 on 1455  Progress: 1429 on 1455  Progress: 1430 on 1455  Progress: 1431 on 1455  Progress: 1432 on 1455  Progress: 1433 on 1455  Progress: 1434 on 1455  Progress: 1435 on 1455  Progress: 1436 on 1455  Progress: 1437 on 1455  Progress: 1438 on 1455  Progress: 1439 on 1455  Progress: 1440 on 1455  Progress: 1441 on 1455  Progress: 1442 on 1455  Progress: 1443 on 1455  Progress: 1444 on 1455  Progress: 1445 on 1455  Progress: 1446 on 1455  Progress: 1447 on 1455  Progress: 1448 on 1455  Progress: 1449 on 1455  Progress: 1450 on 1455  Progress: 1451 on 1455  Progress: 1452 on 1455  Progress: 1453 on 1455  Progress: 1454 on 1455  Progress: 1455 on 1455  
BN_autor <- BN_autor %>%
  mutate(ZA_ADNOTACJE = ifelse(czy_nazwisko==FALSE|czy_imie==FALSE,paste("UWAGA! Konflikt w danych osobowych w polach 100 i 245. Porównaj pole autor w formularzu z polem BN: ",X245c,sep = ""),NA)) %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,ZA_ADNOTACJE) %>%
  mutate(nazwa = str_replace_all(str_to_lower(paste(AM_NAZWISKO,AM_IMIE, sep = "")), "\\W", "")) %>%
  left_join(.,PBL_autorzy %>% select(AM_AUTOR_ID,AM_KRYPTONIM,AM_LICZBA_ZAPISOW,nazwa) %>% filter(is.na(AM_KRYPTONIM)),by="nazwa") %>%
  arrange(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,-AM_LICZBA_ZAPISOW)
BN_autor$id_grupy <- cumsum(!duplicated(BN_autor[1:3]))
BN_autor <- BN_autor[!duplicated(BN_autor$id_grupy),] %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,ZA_ADNOTACJE,AM_AUTOR_ID)

#3: tytuł
#pole 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
za_tytul <- marc_field_245 %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " "),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = " "),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  unite("ZA_TYTUL",`$a`:`$p`,sep = " ",na.rm = TRUE) %>%
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
         ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
         ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
         ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
  select(ZA_UWAGI,ZA_TYTUL)

#4: tytuł oryginału
#pole 246
marc_field_246 <- data %>%
  select(ZA_UWAGI,X246)%>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"~"),
         X246=str_replace_all(X246,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X246",sep = "~",direction = "long") %>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"^\\|")) %>%
  mutate(indicator = str_replace_all(X246,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X246,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_246)[1]))
colnames(empty_table) <-subfield_list
marc_field_246<-cbind(marc_field_246,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_246$X246 <- str_replace(marc_field_246$X246,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_246[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_246$X246),str_replace_all(gsub(string,"\\3",marc_field_246$X246),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
if("$n" %in% colnames(marc_field_246)) {
marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = ""),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = ""),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$p`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
} else {
  marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$b`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
}

#pole 500
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"~"),
         X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  filter(grepl("oryg\\.\\:",X500)) %>%
  mutate(X500 = str_remove(`$a`,"^Tyt\\. oryg\\.: |^Tyt\\, oryg\\.: |^.*?tyt\\. oryg\\.: "),
         X500 = str_remove(X500, "\\s+\\/\\s{0,}$"),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = str_replace_all(X500,"\\.{3} \\.{3}","... "),
         X500 = str_remove(X500, "\\.$"),
         X500 = str_remove(X500,"(,{0,1} {0,1})\\d{4}.*$|(, t|. T)yt. oryg. cyklu:")) %>%
  select(ZA_UWAGI,X500)
#tytuł oryginału
za_tytul_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_246,by="ZA_UWAGI") %>%
  left_join(.,marc_field_500,by="ZA_UWAGI") %>%
  mutate(X500 = ifelse(is.na(X500),NA,
                       ifelse(grepl("oryg",X500),NA,as.character(X500))),
         X500 = ifelse(!is.na(X500)&grepl("\\. - ",X500),str_replace(X500,"(.*?)(\\. - .*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Na książce pseud",X500),str_replace(X500,"(.*?)(\\. Na książce pseud.*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Przekł\\. wg",X500),str_replace(X500,"(.*?)(\\. Przekł\\. wg.*$)","\\1"),as.character(X500)),
         ZA_TYTUL_ORYGINALU = ifelse(is.na(X246)&is.na(X500),NA,
                                     ifelse(!is.na(X500),as.character(X500),as.character(X246))),
         ZA_TYTUL_ORYGINALU = str_remove_all(ZA_TYTUL_ORYGINALU,'\\"')) %>%
  select(ZA_UWAGI,ZA_TYTUL_ORYGINALU)
#5: język oryginału
marc_field_041 <- data %>%
  select(ZA_UWAGI,X041)%>%
  filter(X041!="") %>%
  mutate(X041=str_replace_all(X041,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X041",sep = "~",direction = "long") %>%
  filter(X041!="") %>%
  mutate(X041=str_remove_all(X041,"^\\|")) %>%
  mutate(indicator = str_replace_all(X041,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X041,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_041)[1]))
colnames(empty_table) <-subfield_list
marc_field_041<-cbind(marc_field_041,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_041$X041 <- str_replace(marc_field_041$X041,subfield_list_char[i],"|\\1")
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_041[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_041$X041),str_replace_all(gsub(string,"\\3",marc_field_041$X041),"\\${2}.", "~"),NA)
}
Progress: 1 on 7  Progress: 2 on 7  Progress: 3 on 7  Progress: 4 on 7  Progress: 5 on 7  Progress: 6 on 7  Progress: 7 on 7  
za_jezyk_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_041 %>% select(ZA_UWAGI,ZA_JEZYK_ORYGINALU = `$a`),by="ZA_UWAGI") %>%
  mutate(ZA_JEZYK_ORYGINALU = str_replace_all(ZA_JEZYK_ORYGINALU,"\\$a",",")) %>%
  unique()

#6: współtwórcy
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress:  1 on 11  Progress:  2 on 11  Progress:  3 on 11  Progress:  4 on 11  Progress:  5 on 11  Progress:  6 on 11  Progress:  7 on 11  Progress:  8 on 11  Progress:  9 on 11  Progress: 10 on 11  Progress: 11 on 11  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress:  1 on 11  Progress:  2 on 11  Progress:  3 on 11  Progress:  4 on 11  Progress:  5 on 11  Progress:  6 on 11  Progress:  7 on 11  Progress:  8 on 11  Progress:  9 on 11  Progress: 10 on 11  Progress: 11 on 11  
BN_wspoltworca <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         ws_prosty = str_replace_all(str_to_lower(osoba), "\\W", ""),
         fu_prosta = str_replace_all(str_to_lower(funkcja), "\\W", "")) %>%
  left_join(.,PBL_wspoltworcy %>% select(OS_OSOBA_ID,OS_LICZBA_ZAPISOW,nazwa_prosta),by=c("ws_prosty"="nazwa_prosta")) %>%
  arrange(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,-OS_LICZBA_ZAPISOW)
BN_wspoltworca$id_grupy <- cumsum(!duplicated(BN_wspoltworca[1:2]))
BN_wspoltworca <- BN_wspoltworca[!duplicated(BN_wspoltworca$id_grupy),] %>%
  left_join(.,PBL_funkcje,by=c("fu_prosta"="nazwa")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL",NA,as.character(fo_symbol))) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja)

#tutaj przeszukać X245 i znaleźć błędy współtwórców
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`)

BN_wspoltworca <- BN_wspoltworca %>%
  left_join(.,marc_field_245,by="ZA_UWAGI")

x <- 1:lengths(BN_wspoltworca[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  BN_wspoltworca$czy_nazwisko[i] <- str_detect(BN_wspoltworca$X245c[i],BN_wspoltworca$OS_NAZWISKO[i])
  BN_wspoltworca$czy_imie[i] <- grepl(BN_wspoltworca$OS_IMIE[i],BN_wspoltworca$X245c[i])
}
Progress:    1 on 1970  Progress:    2 on 1970  Progress:    3 on 1970  Progress:    4 on 1970  Progress:    5 on 1970  Progress:    6 on 1970  Progress:    7 on 1970  Progress:    8 on 1970  Progress:    9 on 1970  Progress:   10 on 1970  Progress:   11 on 1970  Progress:   12 on 1970  Progress:   13 on 1970  Progress:   14 on 1970  Progress:   15 on 1970  Progress:   16 on 1970  Progress:   17 on 1970  Progress:   18 on 1970  Progress:   19 on 1970  Progress:   20 on 1970  Progress:   21 on 1970  Progress:   22 on 1970  Progress:   23 on 1970  Progress:   24 on 1970  Progress:   25 on 1970  Progress:   26 on 1970  Progress:   27 on 1970  Progress:   28 on 1970  Progress:   29 on 1970  Progress:   30 on 1970  Progress:   31 on 1970  Progress:   32 on 1970  Progress:   33 on 1970  Progress:   34 on 1970  Progress:   35 on 1970  Progress:   36 on 1970  Progress:   37 on 1970  Progress:   38 on 1970  Progress:   39 on 1970  Progress:   40 on 1970  Progress:   41 on 1970  Progress:   42 on 1970  Progress:   43 on 1970  Progress:   44 on 1970  Progress:   45 on 1970  Progress:   46 on 1970  Progress:   47 on 1970  Progress:   48 on 1970  Progress:   49 on 1970  Progress:   50 on 1970  Progress:   51 on 1970  Progress:   52 on 1970  Progress:   53 on 1970  Progress:   54 on 1970  Progress:   55 on 1970  Progress:   56 on 1970  Progress:   57 on 1970  Progress:   58 on 1970  Progress:   59 on 1970  Progress:   60 on 1970  Progress:   61 on 1970  Progress:   62 on 1970  Progress:   63 on 1970  Progress:   64 on 1970  Progress:   65 on 1970  Progress:   66 on 1970  Progress:   67 on 1970  Progress:   68 on 1970  Progress:   69 on 1970  Progress:   70 on 1970  Progress:   71 on 1970  Progress:   72 on 1970  Progress:   73 on 1970  Progress:   74 on 1970  Progress:   75 on 1970  Progress:   76 on 1970  Progress:   77 on 1970  Progress:   78 on 1970  Progress:   79 on 1970  Progress:   80 on 1970  Progress:   81 on 1970  Progress:   82 on 1970  Progress:   83 on 1970  Progress:   84 on 1970  Progress:   85 on 1970  Progress:   86 on 1970  Progress:   87 on 1970  Progress:   88 on 1970  Progress:   89 on 1970  Progress:   90 on 1970  Progress:   91 on 1970  Progress:   92 on 1970  Progress:   93 on 1970  Progress:   94 on 1970  Progress:   95 on 1970  Progress:   96 on 1970  Progress:   97 on 1970  Progress:   98 on 1970  Progress:   99 on 1970  Progress:  100 on 1970  Progress:  101 on 1970  Progress:  102 on 1970  Progress:  103 on 1970  Progress:  104 on 1970  Progress:  105 on 1970  Progress:  106 on 1970  Progress:  107 on 1970  Progress:  108 on 1970  Progress:  109 on 1970  Progress:  110 on 1970  Progress:  111 on 1970  Progress:  112 on 1970  Progress:  113 on 1970  Progress:  114 on 1970  Progress:  115 on 1970  Progress:  116 on 1970  Progress:  117 on 1970  Progress:  118 on 1970  Progress:  119 on 1970  Progress:  120 on 1970  Progress:  121 on 1970  Progress:  122 on 1970  Progress:  123 on 1970  Progress:  124 on 1970  Progress:  125 on 1970  Progress:  126 on 1970  Progress:  127 on 1970  Progress:  128 on 1970  Progress:  129 on 1970  Progress:  130 on 1970  Progress:  131 on 1970  Progress:  132 on 1970  Progress:  133 on 1970  Progress:  134 on 1970  Progress:  135 on 1970  Progress:  136 on 1970  Progress:  137 on 1970  Progress:  138 on 1970  Progress:  139 on 1970  Progress:  140 on 1970  Progress:  141 on 1970  Progress:  142 on 1970  Progress:  143 on 1970  Progress:  144 on 1970  Progress:  145 on 1970  Progress:  146 on 1970  Progress:  147 on 1970  Progress:  148 on 1970  Progress:  149 on 1970  Progress:  150 on 1970  Progress:  151 on 1970  Progress:  152 on 1970  Progress:  153 on 1970  Progress:  154 on 1970  Progress:  155 on 1970  Progress:  156 on 1970  Progress:  157 on 1970  Progress:  158 on 1970  Progress:  159 on 1970  Progress:  160 on 1970  Progress:  161 on 1970  Progress:  162 on 1970  Progress:  163 on 1970  Progress:  164 on 1970  Progress:  165 on 1970  Progress:  166 on 1970  Progress:  167 on 1970  Progress:  168 on 1970  Progress:  169 on 1970  Progress:  170 on 1970  Progress:  171 on 1970  Progress:  172 on 1970  Progress:  173 on 1970  Progress:  174 on 1970  Progress:  175 on 1970  Progress:  176 on 1970  Progress:  177 on 1970  Progress:  178 on 1970  Progress:  179 on 1970  Progress:  180 on 1970  Progress:  181 on 1970  Progress:  182 on 1970  Progress:  183 on 1970  Progress:  184 on 1970  Progress:  185 on 1970  Progress:  186 on 1970  Progress:  187 on 1970  Progress:  188 on 1970  Progress:  189 on 1970  Progress:  190 on 1970  Progress:  191 on 1970  Progress:  192 on 1970  Progress:  193 on 1970  Progress:  194 on 1970  Progress:  195 on 1970  Progress:  196 on 1970  Progress:  197 on 1970  Progress:  198 on 1970  Progress:  199 on 1970  Progress:  200 on 1970  Progress:  201 on 1970  Progress:  202 on 1970  Progress:  203 on 1970  Progress:  204 on 1970  Progress:  205 on 1970  Progress:  206 on 1970  Progress:  207 on 1970  Progress:  208 on 1970  Progress:  209 on 1970  Progress:  210 on 1970  Progress:  211 on 1970  Progress:  212 on 1970  Progress:  213 on 1970  Progress:  214 on 1970  Progress:  215 on 1970  Progress:  216 on 1970  Progress:  217 on 1970  Progress:  218 on 1970  Progress:  219 on 1970  Progress:  220 on 1970  Progress:  221 on 1970  Progress:  222 on 1970  Progress:  223 on 1970  Progress:  224 on 1970  Progress:  225 on 1970  Progress:  226 on 1970  Progress:  227 on 1970  Progress:  228 on 1970  Progress:  229 on 1970  Progress:  230 on 1970  Progress:  231 on 1970  Progress:  232 on 1970  Progress:  233 on 1970  Progress:  234 on 1970  Progress:  235 on 1970  Progress:  236 on 1970  Progress:  237 on 1970  Progress:  238 on 1970  Progress:  239 on 1970  Progress:  240 on 1970  Progress:  241 on 1970  Progress:  242 on 1970  Progress:  243 on 1970  Progress:  244 on 1970  Progress:  245 on 1970  Progress:  246 on 1970  Progress:  247 on 1970  Progress:  248 on 1970  Progress:  249 on 1970  Progress:  250 on 1970  Progress:  251 on 1970  Progress:  252 on 1970  Progress:  253 on 1970  Progress:  254 on 1970  Progress:  255 on 1970  Progress:  256 on 1970  Progress:  257 on 1970  Progress:  258 on 1970  Progress:  259 on 1970  Progress:  260 on 1970  Progress:  261 on 1970  Progress:  262 on 1970  Progress:  263 on 1970  Progress:  264 on 1970  Progress:  265 on 1970  Progress:  266 on 1970  Progress:  267 on 1970  Progress:  268 on 1970  Progress:  269 on 1970  Progress:  270 on 1970  Progress:  271 on 1970  Progress:  272 on 1970  Progress:  273 on 1970  Progress:  274 on 1970  Progress:  275 on 1970  Progress:  276 on 1970  Progress:  277 on 1970  Progress:  278 on 1970  Progress:  279 on 1970  Progress:  280 on 1970  Progress:  281 on 1970  Progress:  282 on 1970  Progress:  283 on 1970  Progress:  284 on 1970  Progress:  285 on 1970  Progress:  286 on 1970  Progress:  287 on 1970  Progress:  288 on 1970  Progress:  289 on 1970  Progress:  290 on 1970  Progress:  291 on 1970  Progress:  292 on 1970  Progress:  293 on 1970  Progress:  294 on 1970  Progress:  295 on 1970  Progress:  296 on 1970  Progress:  297 on 1970  Progress:  298 on 1970  Progress:  299 on 1970  Progress:  300 on 1970  Progress:  301 on 1970  Progress:  302 on 1970  Progress:  303 on 1970  Progress:  304 on 1970  Progress:  305 on 1970  Progress:  306 on 1970  Progress:  307 on 1970  Progress:  308 on 1970  Progress:  309 on 1970  Progress:  310 on 1970  Progress:  311 on 1970  Progress:  312 on 1970  Progress:  313 on 1970  Progress:  314 on 1970  Progress:  315 on 1970  Progress:  316 on 1970  Progress:  317 on 1970  Progress:  318 on 1970  Progress:  319 on 1970  Progress:  320 on 1970  Progress:  321 on 1970  Progress:  322 on 1970  Progress:  323 on 1970  Progress:  324 on 1970  Progress:  325 on 1970  Progress:  326 on 1970  Progress:  327 on 1970  Progress:  328 on 1970  Progress:  329 on 1970  Progress:  330 on 1970  Progress:  331 on 1970  Progress:  332 on 1970  Progress:  333 on 1970  Progress:  334 on 1970  Progress:  335 on 1970  Progress:  336 on 1970  Progress:  337 on 1970  Progress:  338 on 1970  Progress:  339 on 1970  Progress:  340 on 1970  Progress:  341 on 1970  Progress:  342 on 1970  Progress:  343 on 1970  Progress:  344 on 1970  Progress:  345 on 1970  Progress:  346 on 1970  Progress:  347 on 1970  Progress:  348 on 1970  Progress:  349 on 1970  Progress:  350 on 1970  Progress:  351 on 1970  Progress:  352 on 1970  Progress:  353 on 1970  Progress:  354 on 1970  Progress:  355 on 1970  Progress:  356 on 1970  Progress:  357 on 1970  Progress:  358 on 1970  Progress:  359 on 1970  Progress:  360 on 1970  Progress:  361 on 1970  Progress:  362 on 1970  Progress:  363 on 1970  Progress:  364 on 1970  Progress:  365 on 1970  Progress:  366 on 1970  Progress:  367 on 1970  Progress:  368 on 1970  Progress:  369 on 1970  Progress:  370 on 1970  Progress:  371 on 1970  Progress:  372 on 1970  Progress:  373 on 1970  Progress:  374 on 1970  Progress:  375 on 1970  Progress:  376 on 1970  Progress:  377 on 1970  Progress:  378 on 1970  Progress:  379 on 1970  Progress:  380 on 1970  Progress:  381 on 1970  Progress:  382 on 1970  Progress:  383 on 1970  Progress:  384 on 1970  Progress:  385 on 1970  Progress:  386 on 1970  Progress:  387 on 1970  Progress:  388 on 1970  Progress:  389 on 1970  Progress:  390 on 1970  Progress:  391 on 1970  Progress:  392 on 1970  Progress:  393 on 1970  Progress:  394 on 1970  Progress:  395 on 1970  Progress:  396 on 1970  Progress:  397 on 1970  Progress:  398 on 1970  Progress:  399 on 1970  Progress:  400 on 1970  Progress:  401 on 1970  Progress:  402 on 1970  Progress:  403 on 1970  Progress:  404 on 1970  Progress:  405 on 1970  Progress:  406 on 1970  Progress:  407 on 1970  Progress:  408 on 1970  Progress:  409 on 1970  Progress:  410 on 1970  Progress:  411 on 1970  Progress:  412 on 1970  Progress:  413 on 1970  Progress:  414 on 1970  Progress:  415 on 1970  Progress:  416 on 1970  Progress:  417 on 1970  Progress:  418 on 1970  Progress:  419 on 1970  Progress:  420 on 1970  Progress:  421 on 1970  Progress:  422 on 1970  Progress:  423 on 1970  Progress:  424 on 1970  Progress:  425 on 1970  Progress:  426 on 1970  Progress:  427 on 1970  Progress:  428 on 1970  Progress:  429 on 1970  Progress:  430 on 1970  Progress:  431 on 1970  Progress:  432 on 1970  Progress:  433 on 1970  Progress:  434 on 1970  Progress:  435 on 1970  Progress:  436 on 1970  Progress:  437 on 1970  Progress:  438 on 1970  Progress:  439 on 1970  Progress:  440 on 1970  Progress:  441 on 1970  Progress:  442 on 1970  Progress:  443 on 1970  Progress:  444 on 1970  Progress:  445 on 1970  Progress:  446 on 1970  Progress:  447 on 1970  Progress:  448 on 1970  Progress:  449 on 1970  Progress:  450 on 1970  Progress:  451 on 1970  Progress:  452 on 1970  Progress:  453 on 1970  Progress:  454 on 1970  Progress:  455 on 1970  Progress:  456 on 1970  Progress:  457 on 1970  Progress:  458 on 1970  Progress:  459 on 1970  Progress:  460 on 1970  Progress:  461 on 1970  Progress:  462 on 1970  Progress:  463 on 1970  Progress:  464 on 1970  Progress:  465 on 1970  Progress:  466 on 1970  Progress:  467 on 1970  Progress:  468 on 1970  Progress:  469 on 1970  Progress:  470 on 1970  Progress:  471 on 1970  Progress:  472 on 1970  Progress:  473 on 1970  Progress:  474 on 1970  Progress:  475 on 1970  Progress:  476 on 1970  Progress:  477 on 1970  Progress:  478 on 1970  Progress:  479 on 1970  Progress:  480 on 1970  Progress:  481 on 1970  Progress:  482 on 1970  Progress:  483 on 1970  Progress:  484 on 1970  Progress:  485 on 1970  Progress:  486 on 1970  Progress:  487 on 1970  Progress:  488 on 1970  Progress:  489 on 1970  Progress:  490 on 1970  Progress:  491 on 1970  Progress:  492 on 1970  Progress:  493 on 1970  Progress:  494 on 1970  Progress:  495 on 1970  Progress:  496 on 1970  Progress:  497 on 1970  Progress:  498 on 1970  Progress:  499 on 1970  Progress:  500 on 1970  Progress:  501 on 1970  Progress:  502 on 1970  Progress:  503 on 1970  Progress:  504 on 1970  Progress:  505 on 1970  Progress:  506 on 1970  Progress:  507 on 1970  Progress:  508 on 1970  Progress:  509 on 1970  Progress:  510 on 1970  Progress:  511 on 1970  Progress:  512 on 1970  Progress:  513 on 1970  Progress:  514 on 1970  Progress:  515 on 1970  Progress:  516 on 1970  Progress:  517 on 1970  Progress:  518 on 1970  Progress:  519 on 1970  Progress:  520 on 1970  Progress:  521 on 1970  Progress:  522 on 1970  Progress:  523 on 1970  Progress:  524 on 1970  Progress:  525 on 1970  Progress:  526 on 1970  Progress:  527 on 1970  Progress:  528 on 1970  Progress:  529 on 1970  Progress:  530 on 1970  Progress:  531 on 1970  Progress:  532 on 1970  Progress:  533 on 1970  Progress:  534 on 1970  Progress:  535 on 1970  Progress:  536 on 1970  Progress:  537 on 1970  Progress:  538 on 1970  Progress:  539 on 1970  Progress:  540 on 1970  Progress:  541 on 1970  Progress:  542 on 1970  Progress:  543 on 1970  Progress:  544 on 1970  Progress:  545 on 1970  Progress:  546 on 1970  Progress:  547 on 1970  Progress:  548 on 1970  Progress:  549 on 1970  Progress:  550 on 1970  Progress:  551 on 1970  Progress:  552 on 1970  Progress:  553 on 1970  Progress:  554 on 1970  Progress:  555 on 1970  Progress:  556 on 1970  Progress:  557 on 1970  Progress:  558 on 1970  Progress:  559 on 1970  Progress:  560 on 1970  Progress:  561 on 1970  Progress:  562 on 1970  Progress:  563 on 1970  Progress:  564 on 1970  Progress:  565 on 1970  Progress:  566 on 1970  Progress:  567 on 1970  Progress:  568 on 1970  Progress:  569 on 1970  Progress:  570 on 1970  Progress:  571 on 1970  Progress:  572 on 1970  Progress:  573 on 1970  Progress:  574 on 1970  Progress:  575 on 1970  Progress:  576 on 1970  Progress:  577 on 1970  Progress:  578 on 1970  Progress:  579 on 1970  Progress:  580 on 1970  Progress:  581 on 1970  Progress:  582 on 1970  Progress:  583 on 1970  Progress:  584 on 1970  Progress:  585 on 1970  Progress:  586 on 1970  Progress:  587 on 1970  Progress:  588 on 1970  Progress:  589 on 1970  Progress:  590 on 1970  Progress:  591 on 1970  Progress:  592 on 1970  Progress:  593 on 1970  Progress:  594 on 1970  Progress:  595 on 1970  Progress:  596 on 1970  Progress:  597 on 1970  Progress:  598 on 1970  Progress:  599 on 1970  Progress:  600 on 1970  Progress:  601 on 1970  Progress:  602 on 1970  Progress:  603 on 1970  Progress:  604 on 1970  Progress:  605 on 1970  Progress:  606 on 1970  Progress:  607 on 1970  Progress:  608 on 1970  Progress:  609 on 1970  Progress:  610 on 1970  Progress:  611 on 1970  Progress:  612 on 1970  Progress:  613 on 1970  Progress:  614 on 1970  Progress:  615 on 1970  Progress:  616 on 1970  Progress:  617 on 1970  Progress:  618 on 1970  Progress:  619 on 1970  Progress:  620 on 1970  Progress:  621 on 1970  Progress:  622 on 1970  Progress:  623 on 1970  Progress:  624 on 1970  Progress:  625 on 1970  Progress:  626 on 1970  Progress:  627 on 1970  Progress:  628 on 1970  Progress:  629 on 1970  Progress:  630 on 1970  Progress:  631 on 1970  Progress:  632 on 1970  Progress:  633 on 1970  Progress:  634 on 1970  Progress:  635 on 1970  Progress:  636 on 1970  Progress:  637 on 1970  Progress:  638 on 1970  Progress:  639 on 1970  Progress:  640 on 1970  Progress:  641 on 1970  Progress:  642 on 1970  Progress:  643 on 1970  Progress:  644 on 1970  Progress:  645 on 1970  Progress:  646 on 1970  Progress:  647 on 1970  Progress:  648 on 1970  Progress:  649 on 1970  Progress:  650 on 1970  Progress:  651 on 1970  Progress:  652 on 1970  Progress:  653 on 1970  Progress:  654 on 1970  Progress:  655 on 1970  Progress:  656 on 1970  Progress:  657 on 1970  Progress:  658 on 1970  Progress:  659 on 1970  Progress:  660 on 1970  Progress:  661 on 1970  Progress:  662 on 1970  Progress:  663 on 1970  Progress:  664 on 1970  Progress:  665 on 1970  Progress:  666 on 1970  Progress:  667 on 1970  Progress:  668 on 1970  Progress:  669 on 1970  Progress:  670 on 1970  Progress:  671 on 1970  Progress:  672 on 1970  Progress:  673 on 1970  Progress:  674 on 1970  Progress:  675 on 1970  Progress:  676 on 1970  Progress:  677 on 1970  Progress:  678 on 1970  Progress:  679 on 1970  Progress:  680 on 1970  Progress:  681 on 1970  Progress:  682 on 1970  Progress:  683 on 1970  Progress:  684 on 1970  Progress:  685 on 1970  Progress:  686 on 1970  Progress:  687 on 1970  Progress:  688 on 1970  Progress:  689 on 1970  Progress:  690 on 1970  Progress:  691 on 1970  Progress:  692 on 1970  Progress:  693 on 1970  Progress:  694 on 1970  Progress:  695 on 1970  Progress:  696 on 1970  Progress:  697 on 1970  Progress:  698 on 1970  Progress:  699 on 1970  Progress:  700 on 1970  Progress:  701 on 1970  Progress:  702 on 1970  Progress:  703 on 1970  Progress:  704 on 1970  Progress:  705 on 1970  Progress:  706 on 1970  Progress:  707 on 1970  Progress:  708 on 1970  Progress:  709 on 1970  Progress:  710 on 1970  Progress:  711 on 1970  Progress:  712 on 1970  Progress:  713 on 1970  Progress:  714 on 1970  Progress:  715 on 1970  Progress:  716 on 1970  Progress:  717 on 1970  Progress:  718 on 1970  Progress:  719 on 1970  Progress:  720 on 1970  Progress:  721 on 1970  Progress:  722 on 1970  Progress:  723 on 1970  Progress:  724 on 1970  Progress:  725 on 1970  Progress:  726 on 1970  Progress:  727 on 1970  Progress:  728 on 1970  Progress:  729 on 1970  Progress:  730 on 1970  Progress:  731 on 1970  Progress:  732 on 1970  Progress:  733 on 1970  Progress:  734 on 1970  Progress:  735 on 1970  Progress:  736 on 1970  Progress:  737 on 1970  Progress:  738 on 1970  Progress:  739 on 1970  Progress:  740 on 1970  Progress:  741 on 1970  Progress:  742 on 1970  Progress:  743 on 1970  Progress:  744 on 1970  Progress:  745 on 1970  Progress:  746 on 1970  Progress:  747 on 1970  Progress:  748 on 1970  Progress:  749 on 1970  Progress:  750 on 1970  Progress:  751 on 1970  Progress:  752 on 1970  Progress:  753 on 1970  Progress:  754 on 1970  Progress:  755 on 1970  Progress:  756 on 1970  Progress:  757 on 1970  Progress:  758 on 1970  Progress:  759 on 1970  Progress:  760 on 1970  Progress:  761 on 1970  Progress:  762 on 1970  Progress:  763 on 1970  Progress:  764 on 1970  Progress:  765 on 1970  Progress:  766 on 1970  Progress:  767 on 1970  Progress:  768 on 1970  Progress:  769 on 1970  Progress:  770 on 1970  Progress:  771 on 1970  Progress:  772 on 1970  Progress:  773 on 1970  Progress:  774 on 1970  Progress:  775 on 1970  Progress:  776 on 1970  Progress:  777 on 1970  Progress:  778 on 1970  Progress:  779 on 1970  Progress:  780 on 1970  Progress:  781 on 1970  Progress:  782 on 1970  Progress:  783 on 1970  Progress:  784 on 1970  Progress:  785 on 1970  Progress:  786 on 1970  Progress:  787 on 1970  Progress:  788 on 1970  Progress:  789 on 1970  Progress:  790 on 1970  Progress:  791 on 1970  Progress:  792 on 1970  Progress:  793 on 1970  Progress:  794 on 1970  Progress:  795 on 1970  Progress:  796 on 1970  Progress:  797 on 1970  Progress:  798 on 1970  Progress:  799 on 1970  Progress:  800 on 1970  Progress:  801 on 1970  Progress:  802 on 1970  Progress:  803 on 1970  Progress:  804 on 1970  Progress:  805 on 1970  Progress:  806 on 1970  Progress:  807 on 1970  Progress:  808 on 1970  Progress:  809 on 1970  Progress:  810 on 1970  Progress:  811 on 1970  Progress:  812 on 1970  Progress:  813 on 1970  Progress:  814 on 1970  Progress:  815 on 1970  Progress:  816 on 1970  Progress:  817 on 1970  Progress:  818 on 1970  Progress:  819 on 1970  Progress:  820 on 1970  Progress:  821 on 1970  Progress:  822 on 1970  Progress:  823 on 1970  Progress:  824 on 1970  Progress:  825 on 1970  Progress:  826 on 1970  Progress:  827 on 1970  Progress:  828 on 1970  Progress:  829 on 1970  Progress:  830 on 1970  Progress:  831 on 1970  Progress:  832 on 1970  Progress:  833 on 1970  Progress:  834 on 1970  Progress:  835 on 1970  Progress:  836 on 1970  Progress:  837 on 1970  Progress:  838 on 1970  Progress:  839 on 1970  Progress:  840 on 1970  Progress:  841 on 1970  Progress:  842 on 1970  Progress:  843 on 1970  Progress:  844 on 1970  Progress:  845 on 1970  Progress:  846 on 1970  Progress:  847 on 1970  Progress:  848 on 1970  Progress:  849 on 1970  Progress:  850 on 1970  Progress:  851 on 1970  Progress:  852 on 1970  Progress:  853 on 1970  Progress:  854 on 1970  Progress:  855 on 1970  Progress:  856 on 1970  Progress:  857 on 1970  Progress:  858 on 1970  Progress:  859 on 1970  Progress:  860 on 1970  Progress:  861 on 1970  Progress:  862 on 1970  Progress:  863 on 1970  Progress:  864 on 1970  Progress:  865 on 1970  Progress:  866 on 1970  Progress:  867 on 1970  Progress:  868 on 1970  Progress:  869 on 1970  Progress:  870 on 1970  Progress:  871 on 1970  Progress:  872 on 1970  Progress:  873 on 1970  Progress:  874 on 1970  Progress:  875 on 1970  Progress:  876 on 1970  Progress:  877 on 1970  Progress:  878 on 1970  Progress:  879 on 1970  Progress:  880 on 1970  Progress:  881 on 1970  Progress:  882 on 1970  Progress:  883 on 1970  Progress:  884 on 1970  Progress:  885 on 1970  Progress:  886 on 1970  Progress:  887 on 1970  Progress:  888 on 1970  Progress:  889 on 1970  Progress:  890 on 1970  Progress:  891 on 1970  Progress:  892 on 1970  Progress:  893 on 1970  Progress:  894 on 1970  Progress:  895 on 1970  Progress:  896 on 1970  Progress:  897 on 1970  Progress:  898 on 1970  Progress:  899 on 1970  Progress:  900 on 1970  Progress:  901 on 1970  Progress:  902 on 1970  Progress:  903 on 1970  Progress:  904 on 1970  Progress:  905 on 1970  Progress:  906 on 1970  Progress:  907 on 1970  Progress:  908 on 1970  Progress:  909 on 1970  Progress:  910 on 1970  Progress:  911 on 1970  Progress:  912 on 1970  Progress:  913 on 1970  Progress:  914 on 1970  Progress:  915 on 1970  Progress:  916 on 1970  Progress:  917 on 1970  Progress:  918 on 1970  Progress:  919 on 1970  Progress:  920 on 1970  Progress:  921 on 1970  Progress:  922 on 1970  Progress:  923 on 1970  Progress:  924 on 1970  Progress:  925 on 1970  Progress:  926 on 1970  Progress:  927 on 1970  Progress:  928 on 1970  Progress:  929 on 1970  Progress:  930 on 1970  Progress:  931 on 1970  Progress:  932 on 1970  Progress:  933 on 1970  Progress:  934 on 1970  Progress:  935 on 1970  Progress:  936 on 1970  Progress:  937 on 1970  Progress:  938 on 1970  Progress:  939 on 1970  Progress:  940 on 1970  Progress:  941 on 1970  Progress:  942 on 1970  Progress:  943 on 1970  Progress:  944 on 1970  Progress:  945 on 1970  Progress:  946 on 1970  Progress:  947 on 1970  Progress:  948 on 1970  Progress:  949 on 1970  Progress:  950 on 1970  Progress:  951 on 1970  Progress:  952 on 1970  Progress:  953 on 1970  Progress:  954 on 1970  Progress:  955 on 1970  Progress:  956 on 1970  Progress:  957 on 1970  Progress:  958 on 1970  Progress:  959 on 1970  Progress:  960 on 1970  Progress:  961 on 1970  Progress:  962 on 1970  Progress:  963 on 1970  Progress:  964 on 1970  Progress:  965 on 1970  Progress:  966 on 1970  Progress:  967 on 1970  Progress:  968 on 1970  Progress:  969 on 1970  Progress:  970 on 1970  Progress:  971 on 1970  Progress:  972 on 1970  Progress:  973 on 1970  Progress:  974 on 1970  Progress:  975 on 1970  Progress:  976 on 1970  Progress:  977 on 1970  Progress:  978 on 1970  Progress:  979 on 1970  Progress:  980 on 1970  Progress:  981 on 1970  Progress:  982 on 1970  Progress:  983 on 1970  Progress:  984 on 1970  Progress:  985 on 1970  Progress:  986 on 1970  Progress:  987 on 1970  Progress:  988 on 1970  Progress:  989 on 1970  Progress:  990 on 1970  Progress:  991 on 1970  Progress:  992 on 1970  Progress:  993 on 1970  Progress:  994 on 1970  Progress:  995 on 1970  Progress:  996 on 1970  Progress:  997 on 1970  Progress:  998 on 1970  Progress:  999 on 1970  Progress: 1000 on 1970  Progress: 1001 on 1970  Progress: 1002 on 1970  Progress: 1003 on 1970  Progress: 1004 on 1970  Progress: 1005 on 1970  Progress: 1006 on 1970  Progress: 1007 on 1970  Progress: 1008 on 1970  Progress: 1009 on 1970  Progress: 1010 on 1970  Progress: 1011 on 1970  Progress: 1012 on 1970  Progress: 1013 on 1970  Progress: 1014 on 1970  Progress: 1015 on 1970  Progress: 1016 on 1970  Progress: 1017 on 1970  Progress: 1018 on 1970  Progress: 1019 on 1970  Progress: 1020 on 1970  Progress: 1021 on 1970  Progress: 1022 on 1970  Progress: 1023 on 1970  Progress: 1024 on 1970  Progress: 1025 on 1970  Progress: 1026 on 1970  Progress: 1027 on 1970  Progress: 1028 on 1970  Progress: 1029 on 1970  Progress: 1030 on 1970  Progress: 1031 on 1970  Progress: 1032 on 1970  Progress: 1033 on 1970  Progress: 1034 on 1970  Progress: 1035 on 1970  Progress: 1036 on 1970  Progress: 1037 on 1970  Progress: 1038 on 1970  Progress: 1039 on 1970  Progress: 1040 on 1970  Progress: 1041 on 1970  Progress: 1042 on 1970  Progress: 1043 on 1970  Progress: 1044 on 1970  Progress: 1045 on 1970  Progress: 1046 on 1970  Progress: 1047 on 1970  Progress: 1048 on 1970  Progress: 1049 on 1970  Progress: 1050 on 1970  Progress: 1051 on 1970  Progress: 1052 on 1970  Progress: 1053 on 1970  Progress: 1054 on 1970  Progress: 1055 on 1970  Progress: 1056 on 1970  Progress: 1057 on 1970  Progress: 1058 on 1970  Progress: 1059 on 1970  Progress: 1060 on 1970  Progress: 1061 on 1970  Progress: 1062 on 1970  Progress: 1063 on 1970  Progress: 1064 on 1970  Progress: 1065 on 1970  Progress: 1066 on 1970  Progress: 1067 on 1970  Progress: 1068 on 1970  Progress: 1069 on 1970  Progress: 1070 on 1970  Progress: 1071 on 1970  Progress: 1072 on 1970  Progress: 1073 on 1970  Progress: 1074 on 1970  Progress: 1075 on 1970  Progress: 1076 on 1970  Progress: 1077 on 1970  Progress: 1078 on 1970  Progress: 1079 on 1970  Progress: 1080 on 1970  Progress: 1081 on 1970  Progress: 1082 on 1970  Progress: 1083 on 1970  Progress: 1084 on 1970  Progress: 1085 on 1970  Progress: 1086 on 1970  Progress: 1087 on 1970  Progress: 1088 on 1970  Progress: 1089 on 1970  Progress: 1090 on 1970  Progress: 1091 on 1970  Progress: 1092 on 1970  Progress: 1093 on 1970  Progress: 1094 on 1970  Progress: 1095 on 1970  Progress: 1096 on 1970  Progress: 1097 on 1970  Progress: 1098 on 1970  Progress: 1099 on 1970  Progress: 1100 on 1970  Progress: 1101 on 1970  Progress: 1102 on 1970  Progress: 1103 on 1970  Progress: 1104 on 1970  Progress: 1105 on 1970  Progress: 1106 on 1970  Progress: 1107 on 1970  Progress: 1108 on 1970  Progress: 1109 on 1970  Progress: 1110 on 1970  Progress: 1111 on 1970  Progress: 1112 on 1970  Progress: 1113 on 1970  Progress: 1114 on 1970  Progress: 1115 on 1970  Progress: 1116 on 1970  Progress: 1117 on 1970  Progress: 1118 on 1970  Progress: 1119 on 1970  Progress: 1120 on 1970  Progress: 1121 on 1970  Progress: 1122 on 1970  Progress: 1123 on 1970  Progress: 1124 on 1970  Progress: 1125 on 1970  Progress: 1126 on 1970  Progress: 1127 on 1970  Progress: 1128 on 1970  Progress: 1129 on 1970  Progress: 1130 on 1970  Progress: 1131 on 1970  Progress: 1132 on 1970  Progress: 1133 on 1970  Progress: 1134 on 1970  Progress: 1135 on 1970  Progress: 1136 on 1970  Progress: 1137 on 1970  Progress: 1138 on 1970  Progress: 1139 on 1970  Progress: 1140 on 1970  Progress: 1141 on 1970  Progress: 1142 on 1970  Progress: 1143 on 1970  Progress: 1144 on 1970  Progress: 1145 on 1970  Progress: 1146 on 1970  Progress: 1147 on 1970  Progress: 1148 on 1970  Progress: 1149 on 1970  Progress: 1150 on 1970  Progress: 1151 on 1970  Progress: 1152 on 1970  Progress: 1153 on 1970  Progress: 1154 on 1970  Progress: 1155 on 1970  Progress: 1156 on 1970  Progress: 1157 on 1970  Progress: 1158 on 1970  Progress: 1159 on 1970  Progress: 1160 on 1970  Progress: 1161 on 1970  Progress: 1162 on 1970  Progress: 1163 on 1970  Progress: 1164 on 1970  Progress: 1165 on 1970  Progress: 1166 on 1970  Progress: 1167 on 1970  Progress: 1168 on 1970  Progress: 1169 on 1970  Progress: 1170 on 1970  Progress: 1171 on 1970  Progress: 1172 on 1970  Progress: 1173 on 1970  Progress: 1174 on 1970  Progress: 1175 on 1970  Progress: 1176 on 1970  Progress: 1177 on 1970  Progress: 1178 on 1970  Progress: 1179 on 1970  Progress: 1180 on 1970  Progress: 1181 on 1970  Progress: 1182 on 1970  Progress: 1183 on 1970  Progress: 1184 on 1970  Progress: 1185 on 1970  Progress: 1186 on 1970  Progress: 1187 on 1970  Progress: 1188 on 1970  Progress: 1189 on 1970  Progress: 1190 on 1970  Progress: 1191 on 1970  Progress: 1192 on 1970  Progress: 1193 on 1970  Progress: 1194 on 1970  Progress: 1195 on 1970  Progress: 1196 on 1970  Progress: 1197 on 1970  Progress: 1198 on 1970  Progress: 1199 on 1970  Progress: 1200 on 1970  Progress: 1201 on 1970  Progress: 1202 on 1970  Progress: 1203 on 1970  Progress: 1204 on 1970  Progress: 1205 on 1970  Progress: 1206 on 1970  Progress: 1207 on 1970  Progress: 1208 on 1970  Progress: 1209 on 1970  Progress: 1210 on 1970  Progress: 1211 on 1970  Progress: 1212 on 1970  Progress: 1213 on 1970  Progress: 1214 on 1970  Progress: 1215 on 1970  Progress: 1216 on 1970  Progress: 1217 on 1970  Progress: 1218 on 1970  Progress: 1219 on 1970  Progress: 1220 on 1970  Progress: 1221 on 1970  Progress: 1222 on 1970  Progress: 1223 on 1970  Progress: 1224 on 1970  Progress: 1225 on 1970  Progress: 1226 on 1970  Progress: 1227 on 1970  Progress: 1228 on 1970  Progress: 1229 on 1970  Progress: 1230 on 1970  Progress: 1231 on 1970  Progress: 1232 on 1970  Progress: 1233 on 1970  Progress: 1234 on 1970  Progress: 1235 on 1970  Progress: 1236 on 1970  Progress: 1237 on 1970  Progress: 1238 on 1970  Progress: 1239 on 1970  Progress: 1240 on 1970  Progress: 1241 on 1970  Progress: 1242 on 1970  Progress: 1243 on 1970  Progress: 1244 on 1970  Progress: 1245 on 1970  Progress: 1246 on 1970  Progress: 1247 on 1970  Progress: 1248 on 1970  Progress: 1249 on 1970  Progress: 1250 on 1970  Progress: 1251 on 1970  Progress: 1252 on 1970  Progress: 1253 on 1970  Progress: 1254 on 1970  Progress: 1255 on 1970  Progress: 1256 on 1970  Progress: 1257 on 1970  Progress: 1258 on 1970  Progress: 1259 on 1970  Progress: 1260 on 1970  Progress: 1261 on 1970  Progress: 1262 on 1970  Progress: 1263 on 1970  Progress: 1264 on 1970  Progress: 1265 on 1970  Progress: 1266 on 1970  Progress: 1267 on 1970  Progress: 1268 on 1970  Progress: 1269 on 1970  Progress: 1270 on 1970  Progress: 1271 on 1970  Progress: 1272 on 1970  Progress: 1273 on 1970  Progress: 1274 on 1970  Progress: 1275 on 1970  Progress: 1276 on 1970  Progress: 1277 on 1970  Progress: 1278 on 1970  Progress: 1279 on 1970  Progress: 1280 on 1970  Progress: 1281 on 1970  Progress: 1282 on 1970  Progress: 1283 on 1970  Progress: 1284 on 1970  Progress: 1285 on 1970  Progress: 1286 on 1970  Progress: 1287 on 1970  Progress: 1288 on 1970  Progress: 1289 on 1970  Progress: 1290 on 1970  Progress: 1291 on 1970  Progress: 1292 on 1970  Progress: 1293 on 1970  Progress: 1294 on 1970  Progress: 1295 on 1970  Progress: 1296 on 1970  Progress: 1297 on 1970  Progress: 1298 on 1970  Progress: 1299 on 1970  Progress: 1300 on 1970  Progress: 1301 on 1970  Progress: 1302 on 1970  Progress: 1303 on 1970  Progress: 1304 on 1970  Progress: 1305 on 1970  Progress: 1306 on 1970  Progress: 1307 on 1970  Progress: 1308 on 1970  Progress: 1309 on 1970  Progress: 1310 on 1970  Progress: 1311 on 1970  Progress: 1312 on 1970  Progress: 1313 on 1970  Progress: 1314 on 1970  Progress: 1315 on 1970  Progress: 1316 on 1970  Progress: 1317 on 1970  Progress: 1318 on 1970  Progress: 1319 on 1970  Progress: 1320 on 1970  Progress: 1321 on 1970  Progress: 1322 on 1970  Progress: 1323 on 1970  Progress: 1324 on 1970  Progress: 1325 on 1970  Progress: 1326 on 1970  Progress: 1327 on 1970  Progress: 1328 on 1970  Progress: 1329 on 1970  Progress: 1330 on 1970  Progress: 1331 on 1970  Progress: 1332 on 1970  Progress: 1333 on 1970  Progress: 1334 on 1970  Progress: 1335 on 1970  Progress: 1336 on 1970  Progress: 1337 on 1970  Progress: 1338 on 1970  Progress: 1339 on 1970  Progress: 1340 on 1970  Progress: 1341 on 1970  Progress: 1342 on 1970  Progress: 1343 on 1970  Progress: 1344 on 1970  Progress: 1345 on 1970  Progress: 1346 on 1970  Progress: 1347 on 1970  Progress: 1348 on 1970  Progress: 1349 on 1970  Progress: 1350 on 1970  Progress: 1351 on 1970  Progress: 1352 on 1970  Progress: 1353 on 1970  Progress: 1354 on 1970  Progress: 1355 on 1970  Progress: 1356 on 1970  Progress: 1357 on 1970  Progress: 1358 on 1970  Progress: 1359 on 1970  Progress: 1360 on 1970  Progress: 1361 on 1970  Progress: 1362 on 1970  Progress: 1363 on 1970  Progress: 1364 on 1970  Progress: 1365 on 1970  Progress: 1366 on 1970  Progress: 1367 on 1970  Progress: 1368 on 1970  Progress: 1369 on 1970  Progress: 1370 on 1970  Progress: 1371 on 1970  Progress: 1372 on 1970  Progress: 1373 on 1970  Progress: 1374 on 1970  Progress: 1375 on 1970  Progress: 1376 on 1970  Progress: 1377 on 1970  Progress: 1378 on 1970  Progress: 1379 on 1970  Progress: 1380 on 1970  Progress: 1381 on 1970  Progress: 1382 on 1970  Progress: 1383 on 1970  Progress: 1384 on 1970  Progress: 1385 on 1970  Progress: 1386 on 1970  Progress: 1387 on 1970  Progress: 1388 on 1970  Progress: 1389 on 1970  Progress: 1390 on 1970  Progress: 1391 on 1970  Progress: 1392 on 1970  Progress: 1393 on 1970  Progress: 1394 on 1970  Progress: 1395 on 1970  Progress: 1396 on 1970  Progress: 1397 on 1970  Progress: 1398 on 1970  Progress: 1399 on 1970  Progress: 1400 on 1970  Progress: 1401 on 1970  Progress: 1402 on 1970  Progress: 1403 on 1970  Progress: 1404 on 1970  Progress: 1405 on 1970  Progress: 1406 on 1970  Progress: 1407 on 1970  Progress: 1408 on 1970  Progress: 1409 on 1970  Progress: 1410 on 1970  Progress: 1411 on 1970  Progress: 1412 on 1970  Progress: 1413 on 1970  Progress: 1414 on 1970  Progress: 1415 on 1970  Progress: 1416 on 1970  Progress: 1417 on 1970  Progress: 1418 on 1970  Progress: 1419 on 1970  Progress: 1420 on 1970  Progress: 1421 on 1970  Progress: 1422 on 1970  Progress: 1423 on 1970  Progress: 1424 on 1970  Progress: 1425 on 1970  Progress: 1426 on 1970  Progress: 1427 on 1970  Progress: 1428 on 1970  Progress: 1429 on 1970  Progress: 1430 on 1970  Progress: 1431 on 1970  Progress: 1432 on 1970  Progress: 1433 on 1970  Progress: 1434 on 1970  Progress: 1435 on 1970  Progress: 1436 on 1970  Progress: 1437 on 1970  Progress: 1438 on 1970  Progress: 1439 on 1970  Progress: 1440 on 1970  Progress: 1441 on 1970  Progress: 1442 on 1970  Progress: 1443 on 1970  Progress: 1444 on 1970  Progress: 1445 on 1970  Progress: 1446 on 1970  Progress: 1447 on 1970  Progress: 1448 on 1970  Progress: 1449 on 1970  Progress: 1450 on 1970  Progress: 1451 on 1970  Progress: 1452 on 1970  Progress: 1453 on 1970  Progress: 1454 on 1970  Progress: 1455 on 1970  Progress: 1456 on 1970  Progress: 1457 on 1970  Progress: 1458 on 1970  Progress: 1459 on 1970  Progress: 1460 on 1970  Progress: 1461 on 1970  Progress: 1462 on 1970  Progress: 1463 on 1970  Progress: 1464 on 1970  Progress: 1465 on 1970  Progress: 1466 on 1970  Progress: 1467 on 1970  Progress: 1468 on 1970  Progress: 1469 on 1970  Progress: 1470 on 1970  Progress: 1471 on 1970  Progress: 1472 on 1970  Progress: 1473 on 1970  Progress: 1474 on 1970  Progress: 1475 on 1970  Progress: 1476 on 1970  Progress: 1477 on 1970  Progress: 1478 on 1970  Progress: 1479 on 1970  Progress: 1480 on 1970  Progress: 1481 on 1970  Progress: 1482 on 1970  Progress: 1483 on 1970  Progress: 1484 on 1970  Progress: 1485 on 1970  Progress: 1486 on 1970  Progress: 1487 on 1970  Progress: 1488 on 1970  Progress: 1489 on 1970  Progress: 1490 on 1970  Progress: 1491 on 1970  Progress: 1492 on 1970  Progress: 1493 on 1970  Progress: 1494 on 1970  Progress: 1495 on 1970  Progress: 1496 on 1970  Progress: 1497 on 1970  Progress: 1498 on 1970  Progress: 1499 on 1970  Progress: 1500 on 1970  Progress: 1501 on 1970  Progress: 1502 on 1970  Progress: 1503 on 1970  Progress: 1504 on 1970  Progress: 1505 on 1970  Progress: 1506 on 1970  Progress: 1507 on 1970  Progress: 1508 on 1970  Progress: 1509 on 1970  Progress: 1510 on 1970  Progress: 1511 on 1970  Progress: 1512 on 1970  Progress: 1513 on 1970  Progress: 1514 on 1970  Progress: 1515 on 1970  Progress: 1516 on 1970  Progress: 1517 on 1970  Progress: 1518 on 1970  Progress: 1519 on 1970  Progress: 1520 on 1970  Progress: 1521 on 1970  Progress: 1522 on 1970  Progress: 1523 on 1970  Progress: 1524 on 1970  Progress: 1525 on 1970  Progress: 1526 on 1970  Progress: 1527 on 1970  Progress: 1528 on 1970  Progress: 1529 on 1970  Progress: 1530 on 1970  Progress: 1531 on 1970  Progress: 1532 on 1970  Progress: 1533 on 1970  Progress: 1534 on 1970  Progress: 1535 on 1970  Progress: 1536 on 1970  Progress: 1537 on 1970  Progress: 1538 on 1970  Progress: 1539 on 1970  Progress: 1540 on 1970  Progress: 1541 on 1970  Progress: 1542 on 1970  Progress: 1543 on 1970  Progress: 1544 on 1970  Progress: 1545 on 1970  Progress: 1546 on 1970  Progress: 1547 on 1970  Progress: 1548 on 1970  Progress: 1549 on 1970  Progress: 1550 on 1970  Progress: 1551 on 1970  Progress: 1552 on 1970  Progress: 1553 on 1970  Progress: 1554 on 1970  Progress: 1555 on 1970  Progress: 1556 on 1970  Progress: 1557 on 1970  Progress: 1558 on 1970  Progress: 1559 on 1970  Progress: 1560 on 1970  Progress: 1561 on 1970  Progress: 1562 on 1970  Progress: 1563 on 1970  Progress: 1564 on 1970  Progress: 1565 on 1970  Progress: 1566 on 1970  Progress: 1567 on 1970  Progress: 1568 on 1970  Progress: 1569 on 1970  Progress: 1570 on 1970  Progress: 1571 on 1970  Progress: 1572 on 1970  Progress: 1573 on 1970  Progress: 1574 on 1970  Progress: 1575 on 1970  Progress: 1576 on 1970  Progress: 1577 on 1970  Progress: 1578 on 1970  Progress: 1579 on 1970  Progress: 1580 on 1970  Progress: 1581 on 1970  Progress: 1582 on 1970  Progress: 1583 on 1970  Progress: 1584 on 1970  Progress: 1585 on 1970  Progress: 1586 on 1970  Progress: 1587 on 1970  Progress: 1588 on 1970  Progress: 1589 on 1970  Progress: 1590 on 1970  Progress: 1591 on 1970  Progress: 1592 on 1970  Progress: 1593 on 1970  Progress: 1594 on 1970  Progress: 1595 on 1970  Progress: 1596 on 1970  Progress: 1597 on 1970  Progress: 1598 on 1970  Progress: 1599 on 1970  Progress: 1600 on 1970  Progress: 1601 on 1970  Progress: 1602 on 1970  Progress: 1603 on 1970  Progress: 1604 on 1970  Progress: 1605 on 1970  Progress: 1606 on 1970  Progress: 1607 on 1970  Progress: 1608 on 1970  Progress: 1609 on 1970  Progress: 1610 on 1970  Progress: 1611 on 1970  Progress: 1612 on 1970  Progress: 1613 on 1970  Progress: 1614 on 1970  Progress: 1615 on 1970  Progress: 1616 on 1970  Progress: 1617 on 1970  Progress: 1618 on 1970  Progress: 1619 on 1970  Progress: 1620 on 1970  Progress: 1621 on 1970  Progress: 1622 on 1970  Progress: 1623 on 1970  Progress: 1624 on 1970  Progress: 1625 on 1970  Progress: 1626 on 1970  Progress: 1627 on 1970  Progress: 1628 on 1970  Progress: 1629 on 1970  Progress: 1630 on 1970  Progress: 1631 on 1970  Progress: 1632 on 1970  Progress: 1633 on 1970  Progress: 1634 on 1970  Progress: 1635 on 1970  Progress: 1636 on 1970  Progress: 1637 on 1970  Progress: 1638 on 1970  Progress: 1639 on 1970  Progress: 1640 on 1970  Progress: 1641 on 1970  Progress: 1642 on 1970  Progress: 1643 on 1970  Progress: 1644 on 1970  Progress: 1645 on 1970  Progress: 1646 on 1970  Progress: 1647 on 1970  Progress: 1648 on 1970  Progress: 1649 on 1970  Progress: 1650 on 1970  Progress: 1651 on 1970  Progress: 1652 on 1970  Progress: 1653 on 1970  Progress: 1654 on 1970  Progress: 1655 on 1970  Progress: 1656 on 1970  Progress: 1657 on 1970  Progress: 1658 on 1970  Progress: 1659 on 1970  Progress: 1660 on 1970  Progress: 1661 on 1970  Progress: 1662 on 1970  Progress: 1663 on 1970  Progress: 1664 on 1970  Progress: 1665 on 1970  Progress: 1666 on 1970  Progress: 1667 on 1970  Progress: 1668 on 1970  Progress: 1669 on 1970  Progress: 1670 on 1970  Progress: 1671 on 1970  Progress: 1672 on 1970  Progress: 1673 on 1970  Progress: 1674 on 1970  Progress: 1675 on 1970  Progress: 1676 on 1970  Progress: 1677 on 1970  Progress: 1678 on 1970  Progress: 1679 on 1970  Progress: 1680 on 1970  Progress: 1681 on 1970  Progress: 1682 on 1970  Progress: 1683 on 1970  Progress: 1684 on 1970  Progress: 1685 on 1970  Progress: 1686 on 1970  Progress: 1687 on 1970  Progress: 1688 on 1970  Progress: 1689 on 1970  Progress: 1690 on 1970  Progress: 1691 on 1970  Progress: 1692 on 1970  Progress: 1693 on 1970  Progress: 1694 on 1970  Progress: 1695 on 1970  Progress: 1696 on 1970  Progress: 1697 on 1970  Progress: 1698 on 1970  Progress: 1699 on 1970  Progress: 1700 on 1970  Progress: 1701 on 1970  Progress: 1702 on 1970  Progress: 1703 on 1970  Progress: 1704 on 1970  Progress: 1705 on 1970  Progress: 1706 on 1970  Progress: 1707 on 1970  Progress: 1708 on 1970  Progress: 1709 on 1970  Progress: 1710 on 1970  Progress: 1711 on 1970  Progress: 1712 on 1970  Progress: 1713 on 1970  Progress: 1714 on 1970  Progress: 1715 on 1970  Progress: 1716 on 1970  Progress: 1717 on 1970  Progress: 1718 on 1970  Progress: 1719 on 1970  Progress: 1720 on 1970  Progress: 1721 on 1970  Progress: 1722 on 1970  Progress: 1723 on 1970  Progress: 1724 on 1970  Progress: 1725 on 1970  Progress: 1726 on 1970  Progress: 1727 on 1970  Progress: 1728 on 1970  Progress: 1729 on 1970  Progress: 1730 on 1970  Progress: 1731 on 1970  Progress: 1732 on 1970  Progress: 1733 on 1970  Progress: 1734 on 1970  Progress: 1735 on 1970  Progress: 1736 on 1970  Progress: 1737 on 1970  Progress: 1738 on 1970  Progress: 1739 on 1970  Progress: 1740 on 1970  Progress: 1741 on 1970  Progress: 1742 on 1970  Progress: 1743 on 1970  Progress: 1744 on 1970  Progress: 1745 on 1970  Progress: 1746 on 1970  Progress: 1747 on 1970  Progress: 1748 on 1970  Progress: 1749 on 1970  Progress: 1750 on 1970  Progress: 1751 on 1970  Progress: 1752 on 1970  Progress: 1753 on 1970  Progress: 1754 on 1970  Progress: 1755 on 1970  Progress: 1756 on 1970  Progress: 1757 on 1970  Progress: 1758 on 1970  Progress: 1759 on 1970  Progress: 1760 on 1970  Progress: 1761 on 1970  Progress: 1762 on 1970  Progress: 1763 on 1970  Progress: 1764 on 1970  Progress: 1765 on 1970  Progress: 1766 on 1970  Progress: 1767 on 1970  Progress: 1768 on 1970  Progress: 1769 on 1970  Progress: 1770 on 1970  Progress: 1771 on 1970  Progress: 1772 on 1970  Progress: 1773 on 1970  Progress: 1774 on 1970  Progress: 1775 on 1970  Progress: 1776 on 1970  Progress: 1777 on 1970  Progress: 1778 on 1970  Progress: 1779 on 1970  Progress: 1780 on 1970  Progress: 1781 on 1970  Progress: 1782 on 1970  Progress: 1783 on 1970  Progress: 1784 on 1970  Progress: 1785 on 1970  Progress: 1786 on 1970  Progress: 1787 on 1970  Progress: 1788 on 1970  Progress: 1789 on 1970  Progress: 1790 on 1970  Progress: 1791 on 1970  Progress: 1792 on 1970  Progress: 1793 on 1970  Progress: 1794 on 1970  Progress: 1795 on 1970  Progress: 1796 on 1970  Progress: 1797 on 1970  Progress: 1798 on 1970  Progress: 1799 on 1970  Progress: 1800 on 1970  Progress: 1801 on 1970  Progress: 1802 on 1970  Progress: 1803 on 1970  Progress: 1804 on 1970  Progress: 1805 on 1970  Progress: 1806 on 1970  Progress: 1807 on 1970  Progress: 1808 on 1970  Progress: 1809 on 1970  Progress: 1810 on 1970  Progress: 1811 on 1970  Progress: 1812 on 1970  Progress: 1813 on 1970  Progress: 1814 on 1970  Progress: 1815 on 1970  Progress: 1816 on 1970  Progress: 1817 on 1970  Progress: 1818 on 1970  Progress: 1819 on 1970  Progress: 1820 on 1970  Progress: 1821 on 1970  Progress: 1822 on 1970  Progress: 1823 on 1970  Progress: 1824 on 1970  Progress: 1825 on 1970  Progress: 1826 on 1970  Progress: 1827 on 1970  Progress: 1828 on 1970  Progress: 1829 on 1970  Progress: 1830 on 1970  Progress: 1831 on 1970  Progress: 1832 on 1970  Progress: 1833 on 1970  Progress: 1834 on 1970  Progress: 1835 on 1970  Progress: 1836 on 1970  Progress: 1837 on 1970  Progress: 1838 on 1970  Progress: 1839 on 1970  Progress: 1840 on 1970  Progress: 1841 on 1970  Progress: 1842 on 1970  Progress: 1843 on 1970  Progress: 1844 on 1970  Progress: 1845 on 1970  Progress: 1846 on 1970  Progress: 1847 on 1970  Progress: 1848 on 1970  Progress: 1849 on 1970  Progress: 1850 on 1970  Progress: 1851 on 1970  Progress: 1852 on 1970  Progress: 1853 on 1970  Progress: 1854 on 1970  Progress: 1855 on 1970  Progress: 1856 on 1970  Progress: 1857 on 1970  Progress: 1858 on 1970  Progress: 1859 on 1970  Progress: 1860 on 1970  Progress: 1861 on 1970  Progress: 1862 on 1970  Progress: 1863 on 1970  Progress: 1864 on 1970  Progress: 1865 on 1970  Progress: 1866 on 1970  Progress: 1867 on 1970  Progress: 1868 on 1970  Progress: 1869 on 1970  Progress: 1870 on 1970  Progress: 1871 on 1970  Progress: 1872 on 1970  Progress: 1873 on 1970  Progress: 1874 on 1970  Progress: 1875 on 1970  Progress: 1876 on 1970  Progress: 1877 on 1970  Progress: 1878 on 1970  Progress: 1879 on 1970  Progress: 1880 on 1970  Progress: 1881 on 1970  Progress: 1882 on 1970  Progress: 1883 on 1970  Progress: 1884 on 1970  Progress: 1885 on 1970  Progress: 1886 on 1970  Progress: 1887 on 1970  Progress: 1888 on 1970  Progress: 1889 on 1970  Progress: 1890 on 1970  Progress: 1891 on 1970  Progress: 1892 on 1970  Progress: 1893 on 1970  Progress: 1894 on 1970  Progress: 1895 on 1970  Progress: 1896 on 1970  Progress: 1897 on 1970  Progress: 1898 on 1970  Progress: 1899 on 1970  Progress: 1900 on 1970  Progress: 1901 on 1970  Progress: 1902 on 1970  Progress: 1903 on 1970  Progress: 1904 on 1970  Progress: 1905 on 1970  Progress: 1906 on 1970  Progress: 1907 on 1970  Progress: 1908 on 1970  Progress: 1909 on 1970  Progress: 1910 on 1970  Progress: 1911 on 1970  Progress: 1912 on 1970  Progress: 1913 on 1970  Progress: 1914 on 1970  Progress: 1915 on 1970  Progress: 1916 on 1970  Progress: 1917 on 1970  Progress: 1918 on 1970  Progress: 1919 on 1970  Progress: 1920 on 1970  Progress: 1921 on 1970  Progress: 1922 on 1970  Progress: 1923 on 1970  Progress: 1924 on 1970  Progress: 1925 on 1970  Progress: 1926 on 1970  Progress: 1927 on 1970  Progress: 1928 on 1970  Progress: 1929 on 1970  Progress: 1930 on 1970  Progress: 1931 on 1970  Progress: 1932 on 1970  Progress: 1933 on 1970  Progress: 1934 on 1970  Progress: 1935 on 1970  Progress: 1936 on 1970  Progress: 1937 on 1970  Progress: 1938 on 1970  Progress: 1939 on 1970  Progress: 1940 on 1970  Progress: 1941 on 1970  Progress: 1942 on 1970  Progress: 1943 on 1970  Progress: 1944 on 1970  Progress: 1945 on 1970  Progress: 1946 on 1970  Progress: 1947 on 1970  Progress: 1948 on 1970  Progress: 1949 on 1970  Progress: 1950 on 1970  Progress: 1951 on 1970  Progress: 1952 on 1970  Progress: 1953 on 1970  Progress: 1954 on 1970  Progress: 1955 on 1970  Progress: 1956 on 1970  Progress: 1957 on 1970  Progress: 1958 on 1970  Progress: 1959 on 1970  Progress: 1960 on 1970  Progress: 1961 on 1970  Progress: 1962 on 1970  Progress: 1963 on 1970  Progress: 1964 on 1970  Progress: 1965 on 1970  Progress: 1966 on 1970  Progress: 1967 on 1970  Progress: 1968 on 1970  Progress: 1969 on 1970  Progress: 1970 on 1970  
BN_wspoltworca <- BN_wspoltworca %>%
  mutate(ZA_ADNOTACJE = ifelse(czy_nazwisko==FALSE|czy_imie==FALSE,paste("UWAGA! Konflikt w danych osobowych w polach 700 i 245. Porównaj pola współtórców w formularzu z polem BN: ",X245c,sep = ""),NA)) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja,ZA_ADNOTACJE)

#7: opis współtwórców
opis_wspoltworcow <- BN_wspoltworca %>%
  select(ZA_UWAGI,funkcja,OS_IMIE,OS_NAZWISKO) %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  filter(!is.na(OS_NAZWISKO)|(is.na(OS_NAZWISKO)&grepl("et al\\.",X245c))) %>%
  mutate(jest_et_al = grepl("et al\\.",X245c),
         OS_IMIE = ifelse(OS_IMIE=="*","",as.character(OS_IMIE)),
         opis = ifelse(!is.na(OS_NAZWISKO),paste(funkcja,OS_IMIE, OS_NAZWISKO, sep = " "),""),
         opis = str_replace_all(opis," +"," "),
         opis = ifelse(opis==" ","",as.character(opis))) %>%
  select(ZA_UWAGI,opis,jest_et_al) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ", "),
         jest_et_al = paste(unique(jest_et_al),sep = "")) %>%
  ungroup() %>%
  unique() %>%
  mutate(opis = ifelse(jest_et_al==TRUE&opis=="","et al.",
                       ifelse(jest_et_al,paste(opis,"et al.",sep = " "),opis))) %>%
  select(ZA_UWAGI,opis)

#700
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress:  1 on 11  Progress:  2 on 11  Progress:  3 on 11  Progress:  4 on 11  Progress:  5 on 11  Progress:  6 on 11  Progress:  7 on 11  Progress:  8 on 11  Progress:  9 on 11  Progress: 10 on 11  Progress: 11 on 11  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress:  1 on 11  Progress:  2 on 11  Progress:  3 on 11  Progress:  4 on 11  Progress:  5 on 11  Progress:  6 on 11  Progress:  7 on 11  Progress:  8 on 11  Progress:  9 on 11  Progress: 10 on 11  Progress: 11 on 11  
marc_field_700 <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         funkcja_duza = str_to_lower(funkcja),
         opis = paste(funkcja_duza,OS_IMIE,OS_NAZWISKO, sep = " "),
         opis_duzy = paste(funkcja,OS_IMIE,OS_NAZWISKO, sep = " ")) %>%
  select(ZA_UWAGI,opis,opis_duzy) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ". "),
         opis_duzy = paste(opis_duzy,collapse = ". ")) %>%
  ungroup() %>%
  unique()

#opis współtwórców ze strefy odpowiedzialności 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$c`)

#porównanie opisu współtwórców z 245 i 700
wspoltworcy <- marc_field_700 %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  cSplit(.,"$c",sep = " ; ",direction = "long") %>%
  #ograniczanie osób ze strefy odpowiedzialności
  mutate(czy_mala = grepl(" [a-zęóąśłżźćń]|^[a-zęóąśłżźćń]|\\[[a-zęóąśłżźćń]",`$c`,ignore.case = FALSE)) %>%
  filter(czy_mala==TRUE) %>%
  select(-czy_mala) %>%
  #mutate(`$c` = gsub("^(\\[){0,1}([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])","\\1\\U\\2",perl = TRUE,`$c`)) %>%
  group_by(ZA_UWAGI) %>%
  mutate(X245 = paste(`$c`, collapse = ", ")) %>%
  select(-`$c`) %>%
  unique() %>%
  mutate(order_pbl = as.character(str_extract_all(opis,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_pbl = str_replace_all(order_pbl,"(.*?\")(.)(\".*?.)", "\\2"),
         order_bn = as.character(str_extract_all(X245,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_bn = str_replace_all(order_bn,"(.*?\")(.)(\".*?.)", "\\2"),
         X245 = str_remove(X245, "\\.$"),
         X245 = str_remove(X245, "\\["),
         X245 = str_remove(X245, "\\]"),
         order_pbl = str_remove_all(order_pbl, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         order_bn = str_remove_all(order_bn, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         to_samo = order_pbl==order_bn,
         X245 = gsub("(^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(.*)","\\U\\1\\E\\2",perl = TRUE, X245)) %>%
  left_join(.,za_jezyk_oryginalu,by="ZA_UWAGI") %>%
  mutate(czy_pl = grepl("pol",ZA_JEZYK_ORYGINALU)|is.na(ZA_JEZYK_ORYGINALU),
         decyzja = ifelse(to_samo==FALSE|czy_pl==FALSE,FALSE,TRUE))

za_opis_wspoltworcow <- wspoltworcy %>%
  mutate(za_opis_wspoltworcow = ifelse(decyzja==TRUE,as.character(X245),paste(X245,opis_duzy,sep = "#"))) %>%
  select(ZA_UWAGI,opis_duzy,za_opis_wspoltworcow) %>%
  cSplit(.,"za_opis_wspoltworcow",sep = "#",direction = "wide") %>%
  mutate(za_opis_wspoltworcow_2 = ifelse(is.na(za_opis_wspoltworcow_2),'',as.character(za_opis_wspoltworcow_2)),
         to_samo = za_opis_wspoltworcow_1==za_opis_wspoltworcow_2) %>%
  filter(to_samo==FALSE) %>%
  group_by(ZA_UWAGI) %>%
  mutate(za_opis_wspoltworcow = paste(za_opis_wspoltworcow_1,za_opis_wspoltworcow_2,sep = "#"),
         za_opis_wspoltworcow = str_remove_all(za_opis_wspoltworcow,"\\#$")) %>%
  select(ZA_UWAGI,za_opis_wspoltworcow)

opis_wspoltworcow <- opis_wspoltworcow %>%
  filter(ZA_UWAGI %notin% za_opis_wspoltworcow$ZA_UWAGI) %>%
  filter(!is.na(opis)) %>%
  rename(za_opis_wspoltworcow = opis)

za_opis_wspoltworcow <- za_opis_wspoltworcow %>%
  bind_rows(.,opis_wspoltworcow) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#8 wydanie
marc_field_250 <- data %>%
  select(ZA_UWAGI,X250)%>%
  filter(X250!="") %>%
  mutate(X250=str_replace_all(X250,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X250",sep = "~",direction = "long") %>%
  filter(X250!="") %>%
  mutate(X250=str_remove_all(X250,"^\\|")) %>%
  mutate(indicator = str_replace_all(X250,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X250,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_250)[1]))
colnames(empty_table) <-subfield_list
marc_field_250<-cbind(marc_field_250,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_250$X250 <- str_replace(marc_field_250$X250,subfield_list_char[i],"|\\1")
}
Progress: 1 on 2  Progress: 2 on 2  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_250[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_250$X250),str_replace_all(gsub(string,"\\3",marc_field_250$X250),"\\${2}.", "~"),NA)
}
Progress: 1 on 2  Progress: 2 on 2  
za_wydanie <- marc_field_250 %>%
  select(ZA_UWAGI, wydanie = `$a`) %>%
  mutate(wydanie = str_remove(wydanie," \\/$")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#9: instytucja sprawcza
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 6  Progress: 2 on 6  Progress: 3 on 6  Progress: 4 on 6  Progress: 5 on 6  Progress: 6 on 6  
za_instytucja <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`) %>%
  filter(!is.na(X245c)) %>%
  mutate(instytucja = ifelse(grepl("\\;",X245c),str_replace_all(X245c, "(.*?)(\\;(?!.*\\;))( )+(.*?$)","\\4"),"")) %>%
  left_join(.,BN_wspoltworca,by="ZA_UWAGI")

x <- 1:lengths(za_instytucja[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  za_instytucja$czy_nazwisko[i] <- grepl(za_instytucja$OS_NAZWISKO[i],za_instytucja$X245c[i])
  za_instytucja$czy_imie[i] <- grepl(za_instytucja$OS_IMIE[i],za_instytucja$X245c[i])
}
Progress:    1 on 2911  Progress:    2 on 2911  Progress:    3 on 2911  Progress:    4 on 2911  Progress:    5 on 2911  Progress:    6 on 2911  Progress:    7 on 2911  Progress:    8 on 2911  Progress:    9 on 2911  Progress:   10 on 2911  Progress:   11 on 2911  Progress:   12 on 2911  Progress:   13 on 2911  Progress:   14 on 2911  Progress:   15 on 2911  Progress:   16 on 2911  Progress:   17 on 2911  Progress:   18 on 2911  Progress:   19 on 2911  Progress:   20 on 2911  Progress:   21 on 2911  Progress:   22 on 2911  Progress:   23 on 2911  Progress:   24 on 2911  Progress:   25 on 2911  Progress:   26 on 2911  Progress:   27 on 2911  Progress:   28 on 2911  Progress:   29 on 2911  Progress:   30 on 2911  Progress:   31 on 2911  Progress:   32 on 2911  Progress:   33 on 2911  Progress:   34 on 2911  Progress:   35 on 2911  Progress:   36 on 2911  Progress:   37 on 2911  Progress:   38 on 2911  Progress:   39 on 2911  Progress:   40 on 2911  Progress:   41 on 2911  Progress:   42 on 2911  Progress:   43 on 2911  Progress:   44 on 2911  Progress:   45 on 2911  Progress:   46 on 2911  Progress:   47 on 2911  Progress:   48 on 2911  Progress:   49 on 2911  Progress:   50 on 2911  Progress:   51 on 2911  Progress:   52 on 2911  Progress:   53 on 2911  Progress:   54 on 2911  Progress:   55 on 2911  Progress:   56 on 2911  Progress:   57 on 2911  Progress:   58 on 2911  Progress:   59 on 2911  Progress:   60 on 2911  Progress:   61 on 2911  Progress:   62 on 2911  Progress:   63 on 2911  Progress:   64 on 2911  Progress:   65 on 2911  Progress:   66 on 2911  Progress:   67 on 2911  Progress:   68 on 2911  Progress:   69 on 2911  Progress:   70 on 2911  Progress:   71 on 2911  Progress:   72 on 2911  Progress:   73 on 2911  Progress:   74 on 2911  Progress:   75 on 2911  Progress:   76 on 2911  Progress:   77 on 2911  Progress:   78 on 2911  Progress:   79 on 2911  Progress:   80 on 2911  Progress:   81 on 2911  Progress:   82 on 2911  Progress:   83 on 2911  Progress:   84 on 2911  Progress:   85 on 2911  Progress:   86 on 2911  Progress:   87 on 2911  Progress:   88 on 2911  Progress:   89 on 2911  Progress:   90 on 2911  Progress:   91 on 2911  Progress:   92 on 2911  Progress:   93 on 2911  Progress:   94 on 2911  Progress:   95 on 2911  Progress:   96 on 2911  Progress:   97 on 2911  Progress:   98 on 2911  Progress:   99 on 2911  Progress:  100 on 2911  Progress:  101 on 2911  Progress:  102 on 2911  Progress:  103 on 2911  Progress:  104 on 2911  Progress:  105 on 2911  Progress:  106 on 2911  Progress:  107 on 2911  Progress:  108 on 2911  Progress:  109 on 2911  Progress:  110 on 2911  Progress:  111 on 2911  Progress:  112 on 2911  Progress:  113 on 2911  Progress:  114 on 2911  Progress:  115 on 2911  Progress:  116 on 2911  Progress:  117 on 2911  Progress:  118 on 2911  Progress:  119 on 2911  Progress:  120 on 2911  Progress:  121 on 2911  Progress:  122 on 2911  Progress:  123 on 2911  Progress:  124 on 2911  Progress:  125 on 2911  Progress:  126 on 2911  Progress:  127 on 2911  Progress:  128 on 2911  Progress:  129 on 2911  Progress:  130 on 2911  Progress:  131 on 2911  Progress:  132 on 2911  Progress:  133 on 2911  Progress:  134 on 2911  Progress:  135 on 2911  Progress:  136 on 2911  Progress:  137 on 2911  Progress:  138 on 2911  Progress:  139 on 2911  Progress:  140 on 2911  Progress:  141 on 2911  Progress:  142 on 2911  Progress:  143 on 2911  Progress:  144 on 2911  Progress:  145 on 2911  Progress:  146 on 2911  Progress:  147 on 2911  Progress:  148 on 2911  Progress:  149 on 2911  Progress:  150 on 2911  Progress:  151 on 2911  Progress:  152 on 2911  Progress:  153 on 2911  Progress:  154 on 2911  Progress:  155 on 2911  Progress:  156 on 2911  Progress:  157 on 2911  Progress:  158 on 2911  Progress:  159 on 2911  Progress:  160 on 2911  Progress:  161 on 2911  Progress:  162 on 2911  Progress:  163 on 2911  Progress:  164 on 2911  Progress:  165 on 2911  Progress:  166 on 2911  Progress:  167 on 2911  Progress:  168 on 2911  Progress:  169 on 2911  Progress:  170 on 2911  Progress:  171 on 2911  Progress:  172 on 2911  Progress:  173 on 2911  Progress:  174 on 2911  Progress:  175 on 2911  Progress:  176 on 2911  Progress:  177 on 2911  Progress:  178 on 2911  Progress:  179 on 2911  Progress:  180 on 2911  Progress:  181 on 2911  Progress:  182 on 2911  Progress:  183 on 2911  Progress:  184 on 2911  Progress:  185 on 2911  Progress:  186 on 2911  Progress:  187 on 2911  Progress:  188 on 2911  Progress:  189 on 2911  Progress:  190 on 2911  Progress:  191 on 2911  Progress:  192 on 2911  Progress:  193 on 2911  Progress:  194 on 2911  Progress:  195 on 2911  Progress:  196 on 2911  Progress:  197 on 2911  Progress:  198 on 2911  Progress:  199 on 2911  Progress:  200 on 2911  Progress:  201 on 2911  Progress:  202 on 2911  Progress:  203 on 2911  Progress:  204 on 2911  Progress:  205 on 2911  Progress:  206 on 2911  Progress:  207 on 2911  Progress:  208 on 2911  Progress:  209 on 2911  Progress:  210 on 2911  Progress:  211 on 2911  Progress:  212 on 2911  Progress:  213 on 2911  Progress:  214 on 2911  Progress:  215 on 2911  Progress:  216 on 2911  Progress:  217 on 2911  Progress:  218 on 2911  Progress:  219 on 2911  Progress:  220 on 2911  Progress:  221 on 2911  Progress:  222 on 2911  Progress:  223 on 2911  Progress:  224 on 2911  Progress:  225 on 2911  Progress:  226 on 2911  Progress:  227 on 2911  Progress:  228 on 2911  Progress:  229 on 2911  Progress:  230 on 2911  Progress:  231 on 2911  Progress:  232 on 2911  Progress:  233 on 2911  Progress:  234 on 2911  Progress:  235 on 2911  Progress:  236 on 2911  Progress:  237 on 2911  Progress:  238 on 2911  Progress:  239 on 2911  Progress:  240 on 2911  Progress:  241 on 2911  Progress:  242 on 2911  Progress:  243 on 2911  Progress:  244 on 2911  Progress:  245 on 2911  Progress:  246 on 2911  Progress:  247 on 2911  Progress:  248 on 2911  Progress:  249 on 2911  Progress:  250 on 2911  Progress:  251 on 2911  Progress:  252 on 2911  Progress:  253 on 2911  Progress:  254 on 2911  Progress:  255 on 2911  Progress:  256 on 2911  Progress:  257 on 2911  Progress:  258 on 2911  Progress:  259 on 2911  Progress:  260 on 2911  Progress:  261 on 2911  Progress:  262 on 2911  Progress:  263 on 2911  Progress:  264 on 2911  Progress:  265 on 2911  Progress:  266 on 2911  Progress:  267 on 2911  Progress:  268 on 2911  Progress:  269 on 2911  Progress:  270 on 2911  Progress:  271 on 2911  Progress:  272 on 2911  Progress:  273 on 2911  Progress:  274 on 2911  Progress:  275 on 2911  Progress:  276 on 2911  Progress:  277 on 2911  Progress:  278 on 2911  Progress:  279 on 2911  Progress:  280 on 2911  Progress:  281 on 2911  Progress:  282 on 2911  Progress:  283 on 2911  Progress:  284 on 2911  Progress:  285 on 2911  Progress:  286 on 2911  Progress:  287 on 2911  Progress:  288 on 2911  Progress:  289 on 2911  Progress:  290 on 2911  Progress:  291 on 2911  Progress:  292 on 2911  Progress:  293 on 2911  Progress:  294 on 2911  Progress:  295 on 2911  Progress:  296 on 2911  Progress:  297 on 2911  Progress:  298 on 2911  Progress:  299 on 2911  Progress:  300 on 2911  Progress:  301 on 2911  Progress:  302 on 2911  Progress:  303 on 2911  Progress:  304 on 2911  Progress:  305 on 2911  Progress:  306 on 2911  Progress:  307 on 2911  Progress:  308 on 2911  Progress:  309 on 2911  Progress:  310 on 2911  Progress:  311 on 2911  Progress:  312 on 2911  Progress:  313 on 2911  Progress:  314 on 2911  Progress:  315 on 2911  Progress:  316 on 2911  Progress:  317 on 2911  Progress:  318 on 2911  Progress:  319 on 2911  Progress:  320 on 2911  Progress:  321 on 2911  Progress:  322 on 2911  Progress:  323 on 2911  Progress:  324 on 2911  Progress:  325 on 2911  Progress:  326 on 2911  Progress:  327 on 2911  Progress:  328 on 2911  Progress:  329 on 2911  Progress:  330 on 2911  Progress:  331 on 2911  Progress:  332 on 2911  Progress:  333 on 2911  Progress:  334 on 2911  Progress:  335 on 2911  Progress:  336 on 2911  Progress:  337 on 2911  Progress:  338 on 2911  Progress:  339 on 2911  Progress:  340 on 2911  Progress:  341 on 2911  Progress:  342 on 2911  Progress:  343 on 2911  Progress:  344 on 2911  Progress:  345 on 2911  Progress:  346 on 2911  Progress:  347 on 2911  Progress:  348 on 2911  Progress:  349 on 2911  Progress:  350 on 2911  Progress:  351 on 2911  Progress:  352 on 2911  Progress:  353 on 2911  Progress:  354 on 2911  Progress:  355 on 2911  Progress:  356 on 2911  Progress:  357 on 2911  Progress:  358 on 2911  Progress:  359 on 2911  Progress:  360 on 2911  Progress:  361 on 2911  Progress:  362 on 2911  Progress:  363 on 2911  Progress:  364 on 2911  Progress:  365 on 2911  Progress:  366 on 2911  Progress:  367 on 2911  Progress:  368 on 2911  Progress:  369 on 2911  Progress:  370 on 2911  Progress:  371 on 2911  Progress:  372 on 2911  Progress:  373 on 2911  Progress:  374 on 2911  Progress:  375 on 2911  Progress:  376 on 2911  Progress:  377 on 2911  Progress:  378 on 2911  Progress:  379 on 2911  Progress:  380 on 2911  Progress:  381 on 2911  Progress:  382 on 2911  Progress:  383 on 2911  Progress:  384 on 2911  Progress:  385 on 2911  Progress:  386 on 2911  Progress:  387 on 2911  Progress:  388 on 2911  Progress:  389 on 2911  Progress:  390 on 2911  Progress:  391 on 2911  Progress:  392 on 2911  Progress:  393 on 2911  Progress:  394 on 2911  Progress:  395 on 2911  Progress:  396 on 2911  Progress:  397 on 2911  Progress:  398 on 2911  Progress:  399 on 2911  Progress:  400 on 2911  Progress:  401 on 2911  Progress:  402 on 2911  Progress:  403 on 2911  Progress:  404 on 2911  Progress:  405 on 2911  Progress:  406 on 2911  Progress:  407 on 2911  Progress:  408 on 2911  Progress:  409 on 2911  Progress:  410 on 2911  Progress:  411 on 2911  Progress:  412 on 2911  Progress:  413 on 2911  Progress:  414 on 2911  Progress:  415 on 2911  Progress:  416 on 2911  Progress:  417 on 2911  Progress:  418 on 2911  Progress:  419 on 2911  Progress:  420 on 2911  Progress:  421 on 2911  Progress:  422 on 2911  Progress:  423 on 2911  Progress:  424 on 2911  Progress:  425 on 2911  Progress:  426 on 2911  Progress:  427 on 2911  Progress:  428 on 2911  Progress:  429 on 2911  Progress:  430 on 2911  Progress:  431 on 2911  Progress:  432 on 2911  Progress:  433 on 2911  Progress:  434 on 2911  Progress:  435 on 2911  Progress:  436 on 2911  Progress:  437 on 2911  Progress:  438 on 2911  Progress:  439 on 2911  Progress:  440 on 2911  Progress:  441 on 2911  Progress:  442 on 2911  Progress:  443 on 2911  Progress:  444 on 2911  Progress:  445 on 2911  Progress:  446 on 2911  Progress:  447 on 2911  Progress:  448 on 2911  Progress:  449 on 2911  Progress:  450 on 2911  Progress:  451 on 2911  Progress:  452 on 2911  Progress:  453 on 2911  Progress:  454 on 2911  Progress:  455 on 2911  Progress:  456 on 2911  Progress:  457 on 2911  Progress:  458 on 2911  Progress:  459 on 2911  Progress:  460 on 2911  Progress:  461 on 2911  Progress:  462 on 2911  Progress:  463 on 2911  Progress:  464 on 2911  Progress:  465 on 2911  Progress:  466 on 2911  Progress:  467 on 2911  Progress:  468 on 2911  Progress:  469 on 2911  Progress:  470 on 2911  Progress:  471 on 2911  Progress:  472 on 2911  Progress:  473 on 2911  Progress:  474 on 2911  Progress:  475 on 2911  Progress:  476 on 2911  Progress:  477 on 2911  Progress:  478 on 2911  Progress:  479 on 2911  Progress:  480 on 2911  Progress:  481 on 2911  Progress:  482 on 2911  Progress:  483 on 2911  Progress:  484 on 2911  Progress:  485 on 2911  Progress:  486 on 2911  Progress:  487 on 2911  Progress:  488 on 2911  Progress:  489 on 2911  Progress:  490 on 2911  Progress:  491 on 2911  Progress:  492 on 2911  Progress:  493 on 2911  Progress:  494 on 2911  Progress:  495 on 2911  Progress:  496 on 2911  Progress:  497 on 2911  Progress:  498 on 2911  Progress:  499 on 2911  Progress:  500 on 2911  Progress:  501 on 2911  Progress:  502 on 2911  Progress:  503 on 2911  Progress:  504 on 2911  Progress:  505 on 2911  Progress:  506 on 2911  Progress:  507 on 2911  Progress:  508 on 2911  Progress:  509 on 2911  Progress:  510 on 2911  Progress:  511 on 2911  Progress:  512 on 2911  Progress:  513 on 2911  Progress:  514 on 2911  Progress:  515 on 2911  Progress:  516 on 2911  Progress:  517 on 2911  Progress:  518 on 2911  Progress:  519 on 2911  Progress:  520 on 2911  Progress:  521 on 2911  Progress:  522 on 2911  Progress:  523 on 2911  Progress:  524 on 2911  Progress:  525 on 2911  Progress:  526 on 2911  Progress:  527 on 2911  Progress:  528 on 2911  Progress:  529 on 2911  Progress:  530 on 2911  Progress:  531 on 2911  Progress:  532 on 2911  Progress:  533 on 2911  Progress:  534 on 2911  Progress:  535 on 2911  Progress:  536 on 2911  Progress:  537 on 2911  Progress:  538 on 2911  Progress:  539 on 2911  Progress:  540 on 2911  Progress:  541 on 2911  Progress:  542 on 2911  Progress:  543 on 2911  Progress:  544 on 2911  Progress:  545 on 2911  Progress:  546 on 2911  Progress:  547 on 2911  Progress:  548 on 2911  Progress:  549 on 2911  Progress:  550 on 2911  Progress:  551 on 2911  Progress:  552 on 2911  Progress:  553 on 2911  Progress:  554 on 2911  Progress:  555 on 2911  Progress:  556 on 2911  Progress:  557 on 2911  Progress:  558 on 2911  Progress:  559 on 2911  Progress:  560 on 2911  Progress:  561 on 2911  Progress:  562 on 2911  Progress:  563 on 2911  Progress:  564 on 2911  Progress:  565 on 2911  Progress:  566 on 2911  Progress:  567 on 2911  Progress:  568 on 2911  Progress:  569 on 2911  Progress:  570 on 2911  Progress:  571 on 2911  Progress:  572 on 2911  Progress:  573 on 2911  Progress:  574 on 2911  Progress:  575 on 2911  Progress:  576 on 2911  Progress:  577 on 2911  Progress:  578 on 2911  Progress:  579 on 2911  Progress:  580 on 2911  Progress:  581 on 2911  Progress:  582 on 2911  Progress:  583 on 2911  Progress:  584 on 2911  Progress:  585 on 2911  Progress:  586 on 2911  Progress:  587 on 2911  Progress:  588 on 2911  Progress:  589 on 2911  Progress:  590 on 2911  Progress:  591 on 2911  Progress:  592 on 2911  Progress:  593 on 2911  Progress:  594 on 2911  Progress:  595 on 2911  Progress:  596 on 2911  Progress:  597 on 2911  Progress:  598 on 2911  Progress:  599 on 2911  Progress:  600 on 2911  Progress:  601 on 2911  Progress:  602 on 2911  Progress:  603 on 2911  Progress:  604 on 2911  Progress:  605 on 2911  Progress:  606 on 2911  Progress:  607 on 2911  Progress:  608 on 2911  Progress:  609 on 2911  Progress:  610 on 2911  Progress:  611 on 2911  Progress:  612 on 2911  Progress:  613 on 2911  Progress:  614 on 2911  Progress:  615 on 2911  Progress:  616 on 2911  Progress:  617 on 2911  Progress:  618 on 2911  Progress:  619 on 2911  Progress:  620 on 2911  Progress:  621 on 2911  Progress:  622 on 2911  Progress:  623 on 2911  Progress:  624 on 2911  Progress:  625 on 2911  Progress:  626 on 2911  Progress:  627 on 2911  Progress:  628 on 2911  Progress:  629 on 2911  Progress:  630 on 2911  Progress:  631 on 2911  Progress:  632 on 2911  Progress:  633 on 2911  Progress:  634 on 2911  Progress:  635 on 2911  Progress:  636 on 2911  Progress:  637 on 2911  Progress:  638 on 2911  Progress:  639 on 2911  Progress:  640 on 2911  Progress:  641 on 2911  Progress:  642 on 2911  Progress:  643 on 2911  Progress:  644 on 2911  Progress:  645 on 2911  Progress:  646 on 2911  Progress:  647 on 2911  Progress:  648 on 2911  Progress:  649 on 2911  Progress:  650 on 2911  Progress:  651 on 2911  Progress:  652 on 2911  Progress:  653 on 2911  Progress:  654 on 2911  Progress:  655 on 2911  Progress:  656 on 2911  Progress:  657 on 2911  Progress:  658 on 2911  Progress:  659 on 2911  Progress:  660 on 2911  Progress:  661 on 2911  Progress:  662 on 2911  Progress:  663 on 2911  Progress:  664 on 2911  Progress:  665 on 2911  Progress:  666 on 2911  Progress:  667 on 2911  Progress:  668 on 2911  Progress:  669 on 2911  Progress:  670 on 2911  Progress:  671 on 2911  Progress:  672 on 2911  Progress:  673 on 2911  Progress:  674 on 2911  Progress:  675 on 2911  Progress:  676 on 2911  Progress:  677 on 2911  Progress:  678 on 2911  Progress:  679 on 2911  Progress:  680 on 2911  Progress:  681 on 2911  Progress:  682 on 2911  Progress:  683 on 2911  Progress:  684 on 2911  Progress:  685 on 2911  Progress:  686 on 2911  Progress:  687 on 2911  Progress:  688 on 2911  Progress:  689 on 2911  Progress:  690 on 2911  Progress:  691 on 2911  Progress:  692 on 2911  Progress:  693 on 2911  Progress:  694 on 2911  Progress:  695 on 2911  Progress:  696 on 2911  Progress:  697 on 2911  Progress:  698 on 2911  Progress:  699 on 2911  Progress:  700 on 2911  Progress:  701 on 2911  Progress:  702 on 2911  Progress:  703 on 2911  Progress:  704 on 2911  Progress:  705 on 2911  Progress:  706 on 2911  Progress:  707 on 2911  Progress:  708 on 2911  Progress:  709 on 2911  Progress:  710 on 2911  Progress:  711 on 2911  Progress:  712 on 2911  Progress:  713 on 2911  Progress:  714 on 2911  Progress:  715 on 2911  Progress:  716 on 2911  Progress:  717 on 2911  Progress:  718 on 2911  Progress:  719 on 2911  Progress:  720 on 2911  Progress:  721 on 2911  Progress:  722 on 2911  Progress:  723 on 2911  Progress:  724 on 2911  Progress:  725 on 2911  Progress:  726 on 2911  Progress:  727 on 2911  Progress:  728 on 2911  Progress:  729 on 2911  Progress:  730 on 2911  Progress:  731 on 2911  Progress:  732 on 2911  Progress:  733 on 2911  Progress:  734 on 2911  Progress:  735 on 2911  Progress:  736 on 2911  Progress:  737 on 2911  Progress:  738 on 2911  Progress:  739 on 2911  Progress:  740 on 2911  Progress:  741 on 2911  Progress:  742 on 2911  Progress:  743 on 2911  Progress:  744 on 2911  Progress:  745 on 2911  Progress:  746 on 2911  Progress:  747 on 2911  Progress:  748 on 2911  Progress:  749 on 2911  Progress:  750 on 2911  Progress:  751 on 2911  Progress:  752 on 2911  Progress:  753 on 2911  Progress:  754 on 2911  Progress:  755 on 2911  Progress:  756 on 2911  Progress:  757 on 2911  Progress:  758 on 2911  Progress:  759 on 2911  Progress:  760 on 2911  Progress:  761 on 2911  Progress:  762 on 2911  Progress:  763 on 2911  Progress:  764 on 2911  Progress:  765 on 2911  Progress:  766 on 2911  Progress:  767 on 2911  Progress:  768 on 2911  Progress:  769 on 2911  Progress:  770 on 2911  Progress:  771 on 2911  Progress:  772 on 2911  Progress:  773 on 2911  Progress:  774 on 2911  Progress:  775 on 2911  Progress:  776 on 2911  Progress:  777 on 2911  Progress:  778 on 2911  Progress:  779 on 2911  Progress:  780 on 2911  Progress:  781 on 2911  Progress:  782 on 2911  Progress:  783 on 2911  Progress:  784 on 2911  Progress:  785 on 2911  Progress:  786 on 2911  Progress:  787 on 2911  Progress:  788 on 2911  Progress:  789 on 2911  Progress:  790 on 2911  Progress:  791 on 2911  Progress:  792 on 2911  Progress:  793 on 2911  Progress:  794 on 2911  Progress:  795 on 2911  Progress:  796 on 2911  Progress:  797 on 2911  Progress:  798 on 2911  Progress:  799 on 2911  Progress:  800 on 2911  Progress:  801 on 2911  Progress:  802 on 2911  Progress:  803 on 2911  Progress:  804 on 2911  Progress:  805 on 2911  Progress:  806 on 2911  Progress:  807 on 2911  Progress:  808 on 2911  Progress:  809 on 2911  Progress:  810 on 2911  Progress:  811 on 2911  Progress:  812 on 2911  Progress:  813 on 2911  Progress:  814 on 2911  Progress:  815 on 2911  Progress:  816 on 2911  Progress:  817 on 2911  Progress:  818 on 2911  Progress:  819 on 2911  Progress:  820 on 2911  Progress:  821 on 2911  Progress:  822 on 2911  Progress:  823 on 2911  Progress:  824 on 2911  Progress:  825 on 2911  Progress:  826 on 2911  Progress:  827 on 2911  Progress:  828 on 2911  Progress:  829 on 2911  Progress:  830 on 2911  Progress:  831 on 2911  Progress:  832 on 2911  Progress:  833 on 2911  Progress:  834 on 2911  Progress:  835 on 2911  Progress:  836 on 2911  Progress:  837 on 2911  Progress:  838 on 2911  Progress:  839 on 2911  Progress:  840 on 2911  Progress:  841 on 2911  Progress:  842 on 2911  Progress:  843 on 2911  Progress:  844 on 2911  Progress:  845 on 2911  Progress:  846 on 2911  Progress:  847 on 2911  Progress:  848 on 2911  Progress:  849 on 2911  Progress:  850 on 2911  Progress:  851 on 2911  Progress:  852 on 2911  Progress:  853 on 2911  Progress:  854 on 2911  Progress:  855 on 2911  Progress:  856 on 2911  Progress:  857 on 2911  Progress:  858 on 2911  Progress:  859 on 2911  Progress:  860 on 2911  Progress:  861 on 2911  Progress:  862 on 2911  Progress:  863 on 2911  Progress:  864 on 2911  Progress:  865 on 2911  Progress:  866 on 2911  Progress:  867 on 2911  Progress:  868 on 2911  Progress:  869 on 2911  Progress:  870 on 2911  Progress:  871 on 2911  Progress:  872 on 2911  Progress:  873 on 2911  Progress:  874 on 2911  Progress:  875 on 2911  Progress:  876 on 2911  Progress:  877 on 2911  Progress:  878 on 2911  Progress:  879 on 2911  Progress:  880 on 2911  Progress:  881 on 2911  Progress:  882 on 2911  Progress:  883 on 2911  Progress:  884 on 2911  Progress:  885 on 2911  Progress:  886 on 2911  Progress:  887 on 2911  Progress:  888 on 2911  Progress:  889 on 2911  Progress:  890 on 2911  Progress:  891 on 2911  Progress:  892 on 2911  Progress:  893 on 2911  Progress:  894 on 2911  Progress:  895 on 2911  Progress:  896 on 2911  Progress:  897 on 2911  Progress:  898 on 2911  Progress:  899 on 2911  Progress:  900 on 2911  Progress:  901 on 2911  Progress:  902 on 2911  Progress:  903 on 2911  Progress:  904 on 2911  Progress:  905 on 2911  Progress:  906 on 2911  Progress:  907 on 2911  Progress:  908 on 2911  Progress:  909 on 2911  Progress:  910 on 2911  Progress:  911 on 2911  Progress:  912 on 2911  Progress:  913 on 2911  Progress:  914 on 2911  Progress:  915 on 2911  Progress:  916 on 2911  Progress:  917 on 2911  Progress:  918 on 2911  Progress:  919 on 2911  Progress:  920 on 2911  Progress:  921 on 2911  Progress:  922 on 2911  Progress:  923 on 2911  Progress:  924 on 2911  Progress:  925 on 2911  Progress:  926 on 2911  Progress:  927 on 2911  Progress:  928 on 2911  Progress:  929 on 2911  Progress:  930 on 2911  Progress:  931 on 2911  Progress:  932 on 2911  Progress:  933 on 2911  Progress:  934 on 2911  Progress:  935 on 2911  Progress:  936 on 2911  Progress:  937 on 2911  Progress:  938 on 2911  Progress:  939 on 2911  Progress:  940 on 2911  Progress:  941 on 2911  Progress:  942 on 2911  Progress:  943 on 2911  Progress:  944 on 2911  Progress:  945 on 2911  Progress:  946 on 2911  Progress:  947 on 2911  Progress:  948 on 2911  Progress:  949 on 2911  Progress:  950 on 2911  Progress:  951 on 2911  Progress:  952 on 2911  Progress:  953 on 2911  Progress:  954 on 2911  Progress:  955 on 2911  Progress:  956 on 2911  Progress:  957 on 2911  Progress:  958 on 2911  Progress:  959 on 2911  Progress:  960 on 2911  Progress:  961 on 2911  Progress:  962 on 2911  Progress:  963 on 2911  Progress:  964 on 2911  Progress:  965 on 2911  Progress:  966 on 2911  Progress:  967 on 2911  Progress:  968 on 2911  Progress:  969 on 2911  Progress:  970 on 2911  Progress:  971 on 2911  Progress:  972 on 2911  Progress:  973 on 2911  Progress:  974 on 2911  Progress:  975 on 2911  Progress:  976 on 2911  Progress:  977 on 2911  Progress:  978 on 2911  Progress:  979 on 2911  Progress:  980 on 2911  Progress:  981 on 2911  Progress:  982 on 2911  Progress:  983 on 2911  Progress:  984 on 2911  Progress:  985 on 2911  Progress:  986 on 2911  Progress:  987 on 2911  Progress:  988 on 2911  Progress:  989 on 2911  Progress:  990 on 2911  Progress:  991 on 2911  Progress:  992 on 2911  Progress:  993 on 2911  Progress:  994 on 2911  Progress:  995 on 2911  Progress:  996 on 2911  Progress:  997 on 2911  Progress:  998 on 2911  Progress:  999 on 2911  Progress: 1000 on 2911  Progress: 1001 on 2911  Progress: 1002 on 2911  Progress: 1003 on 2911  Progress: 1004 on 2911  Progress: 1005 on 2911  Progress: 1006 on 2911  Progress: 1007 on 2911  Progress: 1008 on 2911  Progress: 1009 on 2911  Progress: 1010 on 2911  Progress: 1011 on 2911  Progress: 1012 on 2911  Progress: 1013 on 2911  Progress: 1014 on 2911  Progress: 1015 on 2911  Progress: 1016 on 2911  Progress: 1017 on 2911  Progress: 1018 on 2911  Progress: 1019 on 2911  Progress: 1020 on 2911  Progress: 1021 on 2911  Progress: 1022 on 2911  Progress: 1023 on 2911  Progress: 1024 on 2911  Progress: 1025 on 2911  Progress: 1026 on 2911  Progress: 1027 on 2911  Progress: 1028 on 2911  Progress: 1029 on 2911  Progress: 1030 on 2911  Progress: 1031 on 2911  Progress: 1032 on 2911  Progress: 1033 on 2911  Progress: 1034 on 2911  Progress: 1035 on 2911  Progress: 1036 on 2911  Progress: 1037 on 2911  Progress: 1038 on 2911  Progress: 1039 on 2911  Progress: 1040 on 2911  Progress: 1041 on 2911  Progress: 1042 on 2911  Progress: 1043 on 2911  Progress: 1044 on 2911  Progress: 1045 on 2911  Progress: 1046 on 2911  Progress: 1047 on 2911  Progress: 1048 on 2911  Progress: 1049 on 2911  Progress: 1050 on 2911  Progress: 1051 on 2911  Progress: 1052 on 2911  Progress: 1053 on 2911  Progress: 1054 on 2911  Progress: 1055 on 2911  Progress: 1056 on 2911  Progress: 1057 on 2911  Progress: 1058 on 2911  Progress: 1059 on 2911  Progress: 1060 on 2911  Progress: 1061 on 2911  Progress: 1062 on 2911  Progress: 1063 on 2911  Progress: 1064 on 2911  Progress: 1065 on 2911  Progress: 1066 on 2911  Progress: 1067 on 2911  Progress: 1068 on 2911  Progress: 1069 on 2911  Progress: 1070 on 2911  Progress: 1071 on 2911  Progress: 1072 on 2911  Progress: 1073 on 2911  Progress: 1074 on 2911  Progress: 1075 on 2911  Progress: 1076 on 2911  Progress: 1077 on 2911  Progress: 1078 on 2911  Progress: 1079 on 2911  Progress: 1080 on 2911  Progress: 1081 on 2911  Progress: 1082 on 2911  Progress: 1083 on 2911  Progress: 1084 on 2911  Progress: 1085 on 2911  Progress: 1086 on 2911  Progress: 1087 on 2911  Progress: 1088 on 2911  Progress: 1089 on 2911  Progress: 1090 on 2911  Progress: 1091 on 2911  Progress: 1092 on 2911  Progress: 1093 on 2911  Progress: 1094 on 2911  Progress: 1095 on 2911  Progress: 1096 on 2911  Progress: 1097 on 2911  Progress: 1098 on 2911  Progress: 1099 on 2911  Progress: 1100 on 2911  Progress: 1101 on 2911  Progress: 1102 on 2911  Progress: 1103 on 2911  Progress: 1104 on 2911  Progress: 1105 on 2911  Progress: 1106 on 2911  Progress: 1107 on 2911  Progress: 1108 on 2911  Progress: 1109 on 2911  Progress: 1110 on 2911  Progress: 1111 on 2911  Progress: 1112 on 2911  Progress: 1113 on 2911  Progress: 1114 on 2911  Progress: 1115 on 2911  Progress: 1116 on 2911  Progress: 1117 on 2911  Progress: 1118 on 2911  Progress: 1119 on 2911  Progress: 1120 on 2911  Progress: 1121 on 2911  Progress: 1122 on 2911  Progress: 1123 on 2911  Progress: 1124 on 2911  Progress: 1125 on 2911  Progress: 1126 on 2911  Progress: 1127 on 2911  Progress: 1128 on 2911  Progress: 1129 on 2911  Progress: 1130 on 2911  Progress: 1131 on 2911  Progress: 1132 on 2911  Progress: 1133 on 2911  Progress: 1134 on 2911  Progress: 1135 on 2911  Progress: 1136 on 2911  Progress: 1137 on 2911  Progress: 1138 on 2911  Progress: 1139 on 2911  Progress: 1140 on 2911  Progress: 1141 on 2911  Progress: 1142 on 2911  Progress: 1143 on 2911  Progress: 1144 on 2911  Progress: 1145 on 2911  Progress: 1146 on 2911  Progress: 1147 on 2911  Progress: 1148 on 2911  Progress: 1149 on 2911  Progress: 1150 on 2911  Progress: 1151 on 2911  Progress: 1152 on 2911  Progress: 1153 on 2911  Progress: 1154 on 2911  Progress: 1155 on 2911  Progress: 1156 on 2911  Progress: 1157 on 2911  Progress: 1158 on 2911  Progress: 1159 on 2911  Progress: 1160 on 2911  Progress: 1161 on 2911  Progress: 1162 on 2911  Progress: 1163 on 2911  Progress: 1164 on 2911  Progress: 1165 on 2911  Progress: 1166 on 2911  Progress: 1167 on 2911  Progress: 1168 on 2911  Progress: 1169 on 2911  Progress: 1170 on 2911  Progress: 1171 on 2911  Progress: 1172 on 2911  Progress: 1173 on 2911  Progress: 1174 on 2911  Progress: 1175 on 2911  Progress: 1176 on 2911  Progress: 1177 on 2911  Progress: 1178 on 2911  Progress: 1179 on 2911  Progress: 1180 on 2911  Progress: 1181 on 2911  Progress: 1182 on 2911  Progress: 1183 on 2911  Progress: 1184 on 2911  Progress: 1185 on 2911  Progress: 1186 on 2911  Progress: 1187 on 2911  Progress: 1188 on 2911  Progress: 1189 on 2911  Progress: 1190 on 2911  Progress: 1191 on 2911  Progress: 1192 on 2911  Progress: 1193 on 2911  Progress: 1194 on 2911  Progress: 1195 on 2911  Progress: 1196 on 2911  Progress: 1197 on 2911  Progress: 1198 on 2911  Progress: 1199 on 2911  Progress: 1200 on 2911  Progress: 1201 on 2911  Progress: 1202 on 2911  Progress: 1203 on 2911  Progress: 1204 on 2911  Progress: 1205 on 2911  Progress: 1206 on 2911  Progress: 1207 on 2911  Progress: 1208 on 2911  Progress: 1209 on 2911  Progress: 1210 on 2911  Progress: 1211 on 2911  Progress: 1212 on 2911  Progress: 1213 on 2911  Progress: 1214 on 2911  Progress: 1215 on 2911  Progress: 1216 on 2911  Progress: 1217 on 2911  Progress: 1218 on 2911  Progress: 1219 on 2911  Progress: 1220 on 2911  Progress: 1221 on 2911  Progress: 1222 on 2911  Progress: 1223 on 2911  Progress: 1224 on 2911  Progress: 1225 on 2911  Progress: 1226 on 2911  Progress: 1227 on 2911  Progress: 1228 on 2911  Progress: 1229 on 2911  Progress: 1230 on 2911  Progress: 1231 on 2911  Progress: 1232 on 2911  Progress: 1233 on 2911  Progress: 1234 on 2911  Progress: 1235 on 2911  Progress: 1236 on 2911  Progress: 1237 on 2911  Progress: 1238 on 2911  Progress: 1239 on 2911  Progress: 1240 on 2911  Progress: 1241 on 2911  Progress: 1242 on 2911  Progress: 1243 on 2911  Progress: 1244 on 2911  Progress: 1245 on 2911  Progress: 1246 on 2911  Progress: 1247 on 2911  Progress: 1248 on 2911  Progress: 1249 on 2911  Progress: 1250 on 2911  Progress: 1251 on 2911  Progress: 1252 on 2911  Progress: 1253 on 2911  Progress: 1254 on 2911  Progress: 1255 on 2911  Progress: 1256 on 2911  Progress: 1257 on 2911  Progress: 1258 on 2911  Progress: 1259 on 2911  Progress: 1260 on 2911  Progress: 1261 on 2911  Progress: 1262 on 2911  Progress: 1263 on 2911  Progress: 1264 on 2911  Progress: 1265 on 2911  Progress: 1266 on 2911  Progress: 1267 on 2911  Progress: 1268 on 2911  Progress: 1269 on 2911  Progress: 1270 on 2911  Progress: 1271 on 2911  Progress: 1272 on 2911  Progress: 1273 on 2911  Progress: 1274 on 2911  Progress: 1275 on 2911  Progress: 1276 on 2911  Progress: 1277 on 2911  Progress: 1278 on 2911  Progress: 1279 on 2911  Progress: 1280 on 2911  Progress: 1281 on 2911  Progress: 1282 on 2911  Progress: 1283 on 2911  Progress: 1284 on 2911  Progress: 1285 on 2911  Progress: 1286 on 2911  Progress: 1287 on 2911  Progress: 1288 on 2911  Progress: 1289 on 2911  Progress: 1290 on 2911  Progress: 1291 on 2911  Progress: 1292 on 2911  Progress: 1293 on 2911  Progress: 1294 on 2911  Progress: 1295 on 2911  Progress: 1296 on 2911  Progress: 1297 on 2911  Progress: 1298 on 2911  Progress: 1299 on 2911  Progress: 1300 on 2911  Progress: 1301 on 2911  Progress: 1302 on 2911  Progress: 1303 on 2911  Progress: 1304 on 2911  Progress: 1305 on 2911  Progress: 1306 on 2911  Progress: 1307 on 2911  Progress: 1308 on 2911  Progress: 1309 on 2911  Progress: 1310 on 2911  Progress: 1311 on 2911  Progress: 1312 on 2911  Progress: 1313 on 2911  Progress: 1314 on 2911  Progress: 1315 on 2911  Progress: 1316 on 2911  Progress: 1317 on 2911  Progress: 1318 on 2911  Progress: 1319 on 2911  Progress: 1320 on 2911  Progress: 1321 on 2911  Progress: 1322 on 2911  Progress: 1323 on 2911  Progress: 1324 on 2911  Progress: 1325 on 2911  Progress: 1326 on 2911  Progress: 1327 on 2911  Progress: 1328 on 2911  Progress: 1329 on 2911  Progress: 1330 on 2911  Progress: 1331 on 2911  Progress: 1332 on 2911  Progress: 1333 on 2911  Progress: 1334 on 2911  Progress: 1335 on 2911  Progress: 1336 on 2911  Progress: 1337 on 2911  Progress: 1338 on 2911  Progress: 1339 on 2911  Progress: 1340 on 2911  Progress: 1341 on 2911  Progress: 1342 on 2911  Progress: 1343 on 2911  Progress: 1344 on 2911  Progress: 1345 on 2911  Progress: 1346 on 2911  Progress: 1347 on 2911  Progress: 1348 on 2911  Progress: 1349 on 2911  Progress: 1350 on 2911  Progress: 1351 on 2911  Progress: 1352 on 2911  Progress: 1353 on 2911  Progress: 1354 on 2911  Progress: 1355 on 2911  Progress: 1356 on 2911  Progress: 1357 on 2911  Progress: 1358 on 2911  Progress: 1359 on 2911  Progress: 1360 on 2911  Progress: 1361 on 2911  Progress: 1362 on 2911  Progress: 1363 on 2911  Progress: 1364 on 2911  Progress: 1365 on 2911  Progress: 1366 on 2911  Progress: 1367 on 2911  Progress: 1368 on 2911  Progress: 1369 on 2911  Progress: 1370 on 2911  Progress: 1371 on 2911  Progress: 1372 on 2911  Progress: 1373 on 2911  Progress: 1374 on 2911  Progress: 1375 on 2911  Progress: 1376 on 2911  Progress: 1377 on 2911  Progress: 1378 on 2911  Progress: 1379 on 2911  Progress: 1380 on 2911  Progress: 1381 on 2911  Progress: 1382 on 2911  Progress: 1383 on 2911  Progress: 1384 on 2911  Progress: 1385 on 2911  Progress: 1386 on 2911  Progress: 1387 on 2911  Progress: 1388 on 2911  Progress: 1389 on 2911  Progress: 1390 on 2911  Progress: 1391 on 2911  Progress: 1392 on 2911  Progress: 1393 on 2911  Progress: 1394 on 2911  Progress: 1395 on 2911  Progress: 1396 on 2911  Progress: 1397 on 2911  Progress: 1398 on 2911  Progress: 1399 on 2911  Progress: 1400 on 2911  Progress: 1401 on 2911  Progress: 1402 on 2911  Progress: 1403 on 2911  Progress: 1404 on 2911  Progress: 1405 on 2911  Progress: 1406 on 2911  Progress: 1407 on 2911  Progress: 1408 on 2911  Progress: 1409 on 2911  Progress: 1410 on 2911  Progress: 1411 on 2911  Progress: 1412 on 2911  Progress: 1413 on 2911  Progress: 1414 on 2911  Progress: 1415 on 2911  Progress: 1416 on 2911  Progress: 1417 on 2911  Progress: 1418 on 2911  Progress: 1419 on 2911  Progress: 1420 on 2911  Progress: 1421 on 2911  Progress: 1422 on 2911  Progress: 1423 on 2911  Progress: 1424 on 2911  Progress: 1425 on 2911  Progress: 1426 on 2911  Progress: 1427 on 2911  Progress: 1428 on 2911  Progress: 1429 on 2911  Progress: 1430 on 2911  Progress: 1431 on 2911  Progress: 1432 on 2911  Progress: 1433 on 2911  Progress: 1434 on 2911  Progress: 1435 on 2911  Progress: 1436 on 2911  Progress: 1437 on 2911  Progress: 1438 on 2911  Progress: 1439 on 2911  Progress: 1440 on 2911  Progress: 1441 on 2911  Progress: 1442 on 2911  Progress: 1443 on 2911  Progress: 1444 on 2911  Progress: 1445 on 2911  Progress: 1446 on 2911  Progress: 1447 on 2911  Progress: 1448 on 2911  Progress: 1449 on 2911  Progress: 1450 on 2911  Progress: 1451 on 2911  Progress: 1452 on 2911  Progress: 1453 on 2911  Progress: 1454 on 2911  Progress: 1455 on 2911  Progress: 1456 on 2911  Progress: 1457 on 2911  Progress: 1458 on 2911  Progress: 1459 on 2911  Progress: 1460 on 2911  Progress: 1461 on 2911  Progress: 1462 on 2911  Progress: 1463 on 2911  Progress: 1464 on 2911  Progress: 1465 on 2911  Progress: 1466 on 2911  Progress: 1467 on 2911  Progress: 1468 on 2911  Progress: 1469 on 2911  Progress: 1470 on 2911  Progress: 1471 on 2911  Progress: 1472 on 2911  Progress: 1473 on 2911  Progress: 1474 on 2911  Progress: 1475 on 2911  Progress: 1476 on 2911  Progress: 1477 on 2911  Progress: 1478 on 2911  Progress: 1479 on 2911  Progress: 1480 on 2911  Progress: 1481 on 2911  Progress: 1482 on 2911  Progress: 1483 on 2911  Progress: 1484 on 2911  Progress: 1485 on 2911  Progress: 1486 on 2911  Progress: 1487 on 2911  Progress: 1488 on 2911  Progress: 1489 on 2911  Progress: 1490 on 2911  Progress: 1491 on 2911  Progress: 1492 on 2911  Progress: 1493 on 2911  Progress: 1494 on 2911  Progress: 1495 on 2911  Progress: 1496 on 2911  Progress: 1497 on 2911  Progress: 1498 on 2911  Progress: 1499 on 2911  Progress: 1500 on 2911  Progress: 1501 on 2911  Progress: 1502 on 2911  Progress: 1503 on 2911  Progress: 1504 on 2911  Progress: 1505 on 2911  Progress: 1506 on 2911  Progress: 1507 on 2911  Progress: 1508 on 2911  Progress: 1509 on 2911  Progress: 1510 on 2911  Progress: 1511 on 2911  Progress: 1512 on 2911  Progress: 1513 on 2911  Progress: 1514 on 2911  Progress: 1515 on 2911  Progress: 1516 on 2911  Progress: 1517 on 2911  Progress: 1518 on 2911  Progress: 1519 on 2911  Progress: 1520 on 2911  Progress: 1521 on 2911  Progress: 1522 on 2911  Progress: 1523 on 2911  Progress: 1524 on 2911  Progress: 1525 on 2911  Progress: 1526 on 2911  Progress: 1527 on 2911  Progress: 1528 on 2911  Progress: 1529 on 2911  Progress: 1530 on 2911  Progress: 1531 on 2911  Progress: 1532 on 2911  Progress: 1533 on 2911  Progress: 1534 on 2911  Progress: 1535 on 2911  Progress: 1536 on 2911  Progress: 1537 on 2911  Progress: 1538 on 2911  Progress: 1539 on 2911  Progress: 1540 on 2911  Progress: 1541 on 2911  Progress: 1542 on 2911  Progress: 1543 on 2911  Progress: 1544 on 2911  Progress: 1545 on 2911  Progress: 1546 on 2911  Progress: 1547 on 2911  Progress: 1548 on 2911  Progress: 1549 on 2911  Progress: 1550 on 2911  Progress: 1551 on 2911  Progress: 1552 on 2911  Progress: 1553 on 2911  Progress: 1554 on 2911  Progress: 1555 on 2911  Progress: 1556 on 2911  Progress: 1557 on 2911  Progress: 1558 on 2911  Progress: 1559 on 2911  Progress: 1560 on 2911  Progress: 1561 on 2911  Progress: 1562 on 2911  Progress: 1563 on 2911  Progress: 1564 on 2911  Progress: 1565 on 2911  Progress: 1566 on 2911  Progress: 1567 on 2911  Progress: 1568 on 2911  Progress: 1569 on 2911  Progress: 1570 on 2911  Progress: 1571 on 2911  Progress: 1572 on 2911  Progress: 1573 on 2911  Progress: 1574 on 2911  Progress: 1575 on 2911  Progress: 1576 on 2911  Progress: 1577 on 2911  Progress: 1578 on 2911  Progress: 1579 on 2911  Progress: 1580 on 2911  Progress: 1581 on 2911  Progress: 1582 on 2911  Progress: 1583 on 2911  Progress: 1584 on 2911  Progress: 1585 on 2911  Progress: 1586 on 2911  Progress: 1587 on 2911  Progress: 1588 on 2911  Progress: 1589 on 2911  Progress: 1590 on 2911  Progress: 1591 on 2911  Progress: 1592 on 2911  Progress: 1593 on 2911  Progress: 1594 on 2911  Progress: 1595 on 2911  Progress: 1596 on 2911  Progress: 1597 on 2911  Progress: 1598 on 2911  Progress: 1599 on 2911  Progress: 1600 on 2911  Progress: 1601 on 2911  Progress: 1602 on 2911  Progress: 1603 on 2911  Progress: 1604 on 2911  Progress: 1605 on 2911  Progress: 1606 on 2911  Progress: 1607 on 2911  Progress: 1608 on 2911  Progress: 1609 on 2911  Progress: 1610 on 2911  Progress: 1611 on 2911  Progress: 1612 on 2911  Progress: 1613 on 2911  Progress: 1614 on 2911  Progress: 1615 on 2911  Progress: 1616 on 2911  Progress: 1617 on 2911  Progress: 1618 on 2911  Progress: 1619 on 2911  Progress: 1620 on 2911  Progress: 1621 on 2911  Progress: 1622 on 2911  Progress: 1623 on 2911  Progress: 1624 on 2911  Progress: 1625 on 2911  Progress: 1626 on 2911  Progress: 1627 on 2911  Progress: 1628 on 2911  Progress: 1629 on 2911  Progress: 1630 on 2911  Progress: 1631 on 2911  Progress: 1632 on 2911  Progress: 1633 on 2911  Progress: 1634 on 2911  Progress: 1635 on 2911  Progress: 1636 on 2911  Progress: 1637 on 2911  Progress: 1638 on 2911  Progress: 1639 on 2911  Progress: 1640 on 2911  Progress: 1641 on 2911  Progress: 1642 on 2911  Progress: 1643 on 2911  Progress: 1644 on 2911  Progress: 1645 on 2911  Progress: 1646 on 2911  Progress: 1647 on 2911  Progress: 1648 on 2911  Progress: 1649 on 2911  Progress: 1650 on 2911  Progress: 1651 on 2911  Progress: 1652 on 2911  Progress: 1653 on 2911  Progress: 1654 on 2911  Progress: 1655 on 2911  Progress: 1656 on 2911  Progress: 1657 on 2911  Progress: 1658 on 2911  Progress: 1659 on 2911  Progress: 1660 on 2911  Progress: 1661 on 2911  Progress: 1662 on 2911  Progress: 1663 on 2911  Progress: 1664 on 2911  Progress: 1665 on 2911  Progress: 1666 on 2911  Progress: 1667 on 2911  Progress: 1668 on 2911  Progress: 1669 on 2911  Progress: 1670 on 2911  Progress: 1671 on 2911  Progress: 1672 on 2911  Progress: 1673 on 2911  Progress: 1674 on 2911  Progress: 1675 on 2911  Progress: 1676 on 2911  Progress: 1677 on 2911  Progress: 1678 on 2911  Progress: 1679 on 2911  Progress: 1680 on 2911  Progress: 1681 on 2911  Progress: 1682 on 2911  Progress: 1683 on 2911  Progress: 1684 on 2911  Progress: 1685 on 2911  Progress: 1686 on 2911  Progress: 1687 on 2911  Progress: 1688 on 2911  Progress: 1689 on 2911  Progress: 1690 on 2911  Progress: 1691 on 2911  Progress: 1692 on 2911  Progress: 1693 on 2911  Progress: 1694 on 2911  Progress: 1695 on 2911  Progress: 1696 on 2911  Progress: 1697 on 2911  Progress: 1698 on 2911  Progress: 1699 on 2911  Progress: 1700 on 2911  Progress: 1701 on 2911  Progress: 1702 on 2911  Progress: 1703 on 2911  Progress: 1704 on 2911  Progress: 1705 on 2911  Progress: 1706 on 2911  Progress: 1707 on 2911  Progress: 1708 on 2911  Progress: 1709 on 2911  Progress: 1710 on 2911  Progress: 1711 on 2911  Progress: 1712 on 2911  Progress: 1713 on 2911  Progress: 1714 on 2911  Progress: 1715 on 2911  Progress: 1716 on 2911  Progress: 1717 on 2911  Progress: 1718 on 2911  Progress: 1719 on 2911  Progress: 1720 on 2911  Progress: 1721 on 2911  Progress: 1722 on 2911  Progress: 1723 on 2911  Progress: 1724 on 2911  Progress: 1725 on 2911  Progress: 1726 on 2911  Progress: 1727 on 2911  Progress: 1728 on 2911  Progress: 1729 on 2911  Progress: 1730 on 2911  Progress: 1731 on 2911  Progress: 1732 on 2911  Progress: 1733 on 2911  Progress: 1734 on 2911  Progress: 1735 on 2911  Progress: 1736 on 2911  Progress: 1737 on 2911  Progress: 1738 on 2911  Progress: 1739 on 2911  Progress: 1740 on 2911  Progress: 1741 on 2911  Progress: 1742 on 2911  Progress: 1743 on 2911  Progress: 1744 on 2911  Progress: 1745 on 2911  Progress: 1746 on 2911  Progress: 1747 on 2911  Progress: 1748 on 2911  Progress: 1749 on 2911  Progress: 1750 on 2911  Progress: 1751 on 2911  Progress: 1752 on 2911  Progress: 1753 on 2911  Progress: 1754 on 2911  Progress: 1755 on 2911  Progress: 1756 on 2911  Progress: 1757 on 2911  Progress: 1758 on 2911  Progress: 1759 on 2911  Progress: 1760 on 2911  Progress: 1761 on 2911  Progress: 1762 on 2911  Progress: 1763 on 2911  Progress: 1764 on 2911  Progress: 1765 on 2911  Progress: 1766 on 2911  Progress: 1767 on 2911  Progress: 1768 on 2911  Progress: 1769 on 2911  Progress: 1770 on 2911  Progress: 1771 on 2911  Progress: 1772 on 2911  Progress: 1773 on 2911  Progress: 1774 on 2911  Progress: 1775 on 2911  Progress: 1776 on 2911  Progress: 1777 on 2911  Progress: 1778 on 2911  Progress: 1779 on 2911  Progress: 1780 on 2911  Progress: 1781 on 2911  Progress: 1782 on 2911  Progress: 1783 on 2911  Progress: 1784 on 2911  Progress: 1785 on 2911  Progress: 1786 on 2911  Progress: 1787 on 2911  Progress: 1788 on 2911  Progress: 1789 on 2911  Progress: 1790 on 2911  Progress: 1791 on 2911  Progress: 1792 on 2911  Progress: 1793 on 2911  Progress: 1794 on 2911  Progress: 1795 on 2911  Progress: 1796 on 2911  Progress: 1797 on 2911  Progress: 1798 on 2911  Progress: 1799 on 2911  Progress: 1800 on 2911  Progress: 1801 on 2911  Progress: 1802 on 2911  Progress: 1803 on 2911  Progress: 1804 on 2911  Progress: 1805 on 2911  Progress: 1806 on 2911  Progress: 1807 on 2911  Progress: 1808 on 2911  Progress: 1809 on 2911  Progress: 1810 on 2911  Progress: 1811 on 2911  Progress: 1812 on 2911  Progress: 1813 on 2911  Progress: 1814 on 2911  Progress: 1815 on 2911  Progress: 1816 on 2911  Progress: 1817 on 2911  Progress: 1818 on 2911  Progress: 1819 on 2911  Progress: 1820 on 2911  Progress: 1821 on 2911  Progress: 1822 on 2911  Progress: 1823 on 2911  Progress: 1824 on 2911  Progress: 1825 on 2911  Progress: 1826 on 2911  Progress: 1827 on 2911  Progress: 1828 on 2911  Progress: 1829 on 2911  Progress: 1830 on 2911  Progress: 1831 on 2911  Progress: 1832 on 2911  Progress: 1833 on 2911  Progress: 1834 on 2911  Progress: 1835 on 2911  Progress: 1836 on 2911  Progress: 1837 on 2911  Progress: 1838 on 2911  Progress: 1839 on 2911  Progress: 1840 on 2911  Progress: 1841 on 2911  Progress: 1842 on 2911  Progress: 1843 on 2911  Progress: 1844 on 2911  Progress: 1845 on 2911  Progress: 1846 on 2911  Progress: 1847 on 2911  Progress: 1848 on 2911  Progress: 1849 on 2911  Progress: 1850 on 2911  Progress: 1851 on 2911  Progress: 1852 on 2911  Progress: 1853 on 2911  Progress: 1854 on 2911  Progress: 1855 on 2911  Progress: 1856 on 2911  Progress: 1857 on 2911  Progress: 1858 on 2911  Progress: 1859 on 2911  Progress: 1860 on 2911  Progress: 1861 on 2911  Progress: 1862 on 2911  Progress: 1863 on 2911  Progress: 1864 on 2911  Progress: 1865 on 2911  Progress: 1866 on 2911  Progress: 1867 on 2911  Progress: 1868 on 2911  Progress: 1869 on 2911  Progress: 1870 on 2911  Progress: 1871 on 2911  Progress: 1872 on 2911  Progress: 1873 on 2911  Progress: 1874 on 2911  Progress: 1875 on 2911  Progress: 1876 on 2911  Progress: 1877 on 2911  Progress: 1878 on 2911  Progress: 1879 on 2911  Progress: 1880 on 2911  Progress: 1881 on 2911  Progress: 1882 on 2911  Progress: 1883 on 2911  Progress: 1884 on 2911  Progress: 1885 on 2911  Progress: 1886 on 2911  Progress: 1887 on 2911  Progress: 1888 on 2911  Progress: 1889 on 2911  Progress: 1890 on 2911  Progress: 1891 on 2911  Progress: 1892 on 2911  Progress: 1893 on 2911  Progress: 1894 on 2911  Progress: 1895 on 2911  Progress: 1896 on 2911  Progress: 1897 on 2911  Progress: 1898 on 2911  Progress: 1899 on 2911  Progress: 1900 on 2911  Progress: 1901 on 2911  Progress: 1902 on 2911  Progress: 1903 on 2911  Progress: 1904 on 2911  Progress: 1905 on 2911  Progress: 1906 on 2911  Progress: 1907 on 2911  Progress: 1908 on 2911  Progress: 1909 on 2911  Progress: 1910 on 2911  Progress: 1911 on 2911  Progress: 1912 on 2911  Progress: 1913 on 2911  Progress: 1914 on 2911  Progress: 1915 on 2911  Progress: 1916 on 2911  Progress: 1917 on 2911  Progress: 1918 on 2911  Progress: 1919 on 2911  Progress: 1920 on 2911  Progress: 1921 on 2911  Progress: 1922 on 2911  Progress: 1923 on 2911  Progress: 1924 on 2911  Progress: 1925 on 2911  Progress: 1926 on 2911  Progress: 1927 on 2911  Progress: 1928 on 2911  Progress: 1929 on 2911  Progress: 1930 on 2911  Progress: 1931 on 2911  Progress: 1932 on 2911  Progress: 1933 on 2911  Progress: 1934 on 2911  Progress: 1935 on 2911  Progress: 1936 on 2911  Progress: 1937 on 2911  Progress: 1938 on 2911  Progress: 1939 on 2911  Progress: 1940 on 2911  Progress: 1941 on 2911  Progress: 1942 on 2911  Progress: 1943 on 2911  Progress: 1944 on 2911  Progress: 1945 on 2911  Progress: 1946 on 2911  Progress: 1947 on 2911  Progress: 1948 on 2911  Progress: 1949 on 2911  Progress: 1950 on 2911  Progress: 1951 on 2911  Progress: 1952 on 2911  Progress: 1953 on 2911  Progress: 1954 on 2911  Progress: 1955 on 2911  Progress: 1956 on 2911  Progress: 1957 on 2911  Progress: 1958 on 2911  Progress: 1959 on 2911  Progress: 1960 on 2911  Progress: 1961 on 2911  Progress: 1962 on 2911  Progress: 1963 on 2911  Progress: 1964 on 2911  Progress: 1965 on 2911  Progress: 1966 on 2911  Progress: 1967 on 2911  Progress: 1968 on 2911  Progress: 1969 on 2911  Progress: 1970 on 2911  Progress: 1971 on 2911  Progress: 1972 on 2911  Progress: 1973 on 2911  Progress: 1974 on 2911  Progress: 1975 on 2911  Progress: 1976 on 2911  Progress: 1977 on 2911  Progress: 1978 on 2911  Progress: 1979 on 2911  Progress: 1980 on 2911  Progress: 1981 on 2911  Progress: 1982 on 2911  Progress: 1983 on 2911  Progress: 1984 on 2911  Progress: 1985 on 2911  Progress: 1986 on 2911  Progress: 1987 on 2911  Progress: 1988 on 2911  Progress: 1989 on 2911  Progress: 1990 on 2911  Progress: 1991 on 2911  Progress: 1992 on 2911  Progress: 1993 on 2911  Progress: 1994 on 2911  Progress: 1995 on 2911  Progress: 1996 on 2911  Progress: 1997 on 2911  Progress: 1998 on 2911  Progress: 1999 on 2911  Progress: 2000 on 2911  Progress: 2001 on 2911  Progress: 2002 on 2911  Progress: 2003 on 2911  Progress: 2004 on 2911  Progress: 2005 on 2911  Progress: 2006 on 2911  Progress: 2007 on 2911  Progress: 2008 on 2911  Progress: 2009 on 2911  Progress: 2010 on 2911  Progress: 2011 on 2911  Progress: 2012 on 2911  Progress: 2013 on 2911  Progress: 2014 on 2911  Progress: 2015 on 2911  Progress: 2016 on 2911  Progress: 2017 on 2911  Progress: 2018 on 2911  Progress: 2019 on 2911  Progress: 2020 on 2911  Progress: 2021 on 2911  Progress: 2022 on 2911  Progress: 2023 on 2911  Progress: 2024 on 2911  Progress: 2025 on 2911  Progress: 2026 on 2911  Progress: 2027 on 2911  Progress: 2028 on 2911  Progress: 2029 on 2911  Progress: 2030 on 2911  Progress: 2031 on 2911  Progress: 2032 on 2911  Progress: 2033 on 2911  Progress: 2034 on 2911  Progress: 2035 on 2911  Progress: 2036 on 2911  Progress: 2037 on 2911  Progress: 2038 on 2911  Progress: 2039 on 2911  Progress: 2040 on 2911  Progress: 2041 on 2911  Progress: 2042 on 2911  Progress: 2043 on 2911  Progress: 2044 on 2911  Progress: 2045 on 2911  Progress: 2046 on 2911  Progress: 2047 on 2911  Progress: 2048 on 2911  Progress: 2049 on 2911  Progress: 2050 on 2911  Progress: 2051 on 2911  Progress: 2052 on 2911  Progress: 2053 on 2911  Progress: 2054 on 2911  Progress: 2055 on 2911  Progress: 2056 on 2911  Progress: 2057 on 2911  Progress: 2058 on 2911  Progress: 2059 on 2911  Progress: 2060 on 2911  Progress: 2061 on 2911  Progress: 2062 on 2911  Progress: 2063 on 2911  Progress: 2064 on 2911  Progress: 2065 on 2911  Progress: 2066 on 2911  Progress: 2067 on 2911  Progress: 2068 on 2911  Progress: 2069 on 2911  Progress: 2070 on 2911  Progress: 2071 on 2911  Progress: 2072 on 2911  Progress: 2073 on 2911  Progress: 2074 on 2911  Progress: 2075 on 2911  Progress: 2076 on 2911  Progress: 2077 on 2911  Progress: 2078 on 2911  Progress: 2079 on 2911  Progress: 2080 on 2911  Progress: 2081 on 2911  Progress: 2082 on 2911  Progress: 2083 on 2911  Progress: 2084 on 2911  Progress: 2085 on 2911  Progress: 2086 on 2911  Progress: 2087 on 2911  Progress: 2088 on 2911  Progress: 2089 on 2911  Progress: 2090 on 2911  Progress: 2091 on 2911  Progress: 2092 on 2911  Progress: 2093 on 2911  Progress: 2094 on 2911  Progress: 2095 on 2911  Progress: 2096 on 2911  Progress: 2097 on 2911  Progress: 2098 on 2911  Progress: 2099 on 2911  Progress: 2100 on 2911  Progress: 2101 on 2911  Progress: 2102 on 2911  Progress: 2103 on 2911  Progress: 2104 on 2911  Progress: 2105 on 2911  Progress: 2106 on 2911  Progress: 2107 on 2911  Progress: 2108 on 2911  Progress: 2109 on 2911  Progress: 2110 on 2911  Progress: 2111 on 2911  Progress: 2112 on 2911  Progress: 2113 on 2911  Progress: 2114 on 2911  Progress: 2115 on 2911  Progress: 2116 on 2911  Progress: 2117 on 2911  Progress: 2118 on 2911  Progress: 2119 on 2911  Progress: 2120 on 2911  Progress: 2121 on 2911  Progress: 2122 on 2911  Progress: 2123 on 2911  Progress: 2124 on 2911  Progress: 2125 on 2911  Progress: 2126 on 2911  Progress: 2127 on 2911  Progress: 2128 on 2911  Progress: 2129 on 2911  Progress: 2130 on 2911  Progress: 2131 on 2911  Progress: 2132 on 2911  Progress: 2133 on 2911  Progress: 2134 on 2911  Progress: 2135 on 2911  Progress: 2136 on 2911  Progress: 2137 on 2911  Progress: 2138 on 2911  Progress: 2139 on 2911  Progress: 2140 on 2911  Progress: 2141 on 2911  Progress: 2142 on 2911  Progress: 2143 on 2911  Progress: 2144 on 2911  Progress: 2145 on 2911  Progress: 2146 on 2911  Progress: 2147 on 2911  Progress: 2148 on 2911  Progress: 2149 on 2911  Progress: 2150 on 2911  Progress: 2151 on 2911  Progress: 2152 on 2911  Progress: 2153 on 2911  Progress: 2154 on 2911  Progress: 2155 on 2911  Progress: 2156 on 2911  Progress: 2157 on 2911  Progress: 2158 on 2911  Progress: 2159 on 2911  Progress: 2160 on 2911  Progress: 2161 on 2911  Progress: 2162 on 2911  Progress: 2163 on 2911  Progress: 2164 on 2911  Progress: 2165 on 2911  Progress: 2166 on 2911  Progress: 2167 on 2911  Progress: 2168 on 2911  Progress: 2169 on 2911  Progress: 2170 on 2911  Progress: 2171 on 2911  Progress: 2172 on 2911  Progress: 2173 on 2911  Progress: 2174 on 2911  Progress: 2175 on 2911  Progress: 2176 on 2911  Progress: 2177 on 2911  Progress: 2178 on 2911  Progress: 2179 on 2911  Progress: 2180 on 2911  Progress: 2181 on 2911  Progress: 2182 on 2911  Progress: 2183 on 2911  Progress: 2184 on 2911  Progress: 2185 on 2911  Progress: 2186 on 2911  Progress: 2187 on 2911  Progress: 2188 on 2911  Progress: 2189 on 2911  Progress: 2190 on 2911  Progress: 2191 on 2911  Progress: 2192 on 2911  Progress: 2193 on 2911  Progress: 2194 on 2911  Progress: 2195 on 2911  Progress: 2196 on 2911  Progress: 2197 on 2911  Progress: 2198 on 2911  Progress: 2199 on 2911  Progress: 2200 on 2911  Progress: 2201 on 2911  Progress: 2202 on 2911  Progress: 2203 on 2911  Progress: 2204 on 2911  Progress: 2205 on 2911  Progress: 2206 on 2911  Progress: 2207 on 2911  Progress: 2208 on 2911  Progress: 2209 on 2911  Progress: 2210 on 2911  Progress: 2211 on 2911  Progress: 2212 on 2911  Progress: 2213 on 2911  Progress: 2214 on 2911  Progress: 2215 on 2911  Progress: 2216 on 2911  Progress: 2217 on 2911  Progress: 2218 on 2911  Progress: 2219 on 2911  Progress: 2220 on 2911  Progress: 2221 on 2911  Progress: 2222 on 2911  Progress: 2223 on 2911  Progress: 2224 on 2911  Progress: 2225 on 2911  Progress: 2226 on 2911  Progress: 2227 on 2911  Progress: 2228 on 2911  Progress: 2229 on 2911  Progress: 2230 on 2911  Progress: 2231 on 2911  Progress: 2232 on 2911  Progress: 2233 on 2911  Progress: 2234 on 2911  Progress: 2235 on 2911  Progress: 2236 on 2911  Progress: 2237 on 2911  Progress: 2238 on 2911  Progress: 2239 on 2911  Progress: 2240 on 2911  Progress: 2241 on 2911  Progress: 2242 on 2911  Progress: 2243 on 2911  Progress: 2244 on 2911  Progress: 2245 on 2911  Progress: 2246 on 2911  Progress: 2247 on 2911  Progress: 2248 on 2911  Progress: 2249 on 2911  Progress: 2250 on 2911  Progress: 2251 on 2911  Progress: 2252 on 2911  Progress: 2253 on 2911  Progress: 2254 on 2911  Progress: 2255 on 2911  Progress: 2256 on 2911  Progress: 2257 on 2911  Progress: 2258 on 2911  Progress: 2259 on 2911  Progress: 2260 on 2911  Progress: 2261 on 2911  Progress: 2262 on 2911  Progress: 2263 on 2911  Progress: 2264 on 2911  Progress: 2265 on 2911  Progress: 2266 on 2911  Progress: 2267 on 2911  Progress: 2268 on 2911  Progress: 2269 on 2911  Progress: 2270 on 2911  Progress: 2271 on 2911  Progress: 2272 on 2911  Progress: 2273 on 2911  Progress: 2274 on 2911  Progress: 2275 on 2911  Progress: 2276 on 2911  Progress: 2277 on 2911  Progress: 2278 on 2911  Progress: 2279 on 2911  Progress: 2280 on 2911  Progress: 2281 on 2911  Progress: 2282 on 2911  Progress: 2283 on 2911  Progress: 2284 on 2911  Progress: 2285 on 2911  Progress: 2286 on 2911  Progress: 2287 on 2911  Progress: 2288 on 2911  Progress: 2289 on 2911  Progress: 2290 on 2911  Progress: 2291 on 2911  Progress: 2292 on 2911  Progress: 2293 on 2911  Progress: 2294 on 2911  Progress: 2295 on 2911  Progress: 2296 on 2911  Progress: 2297 on 2911  Progress: 2298 on 2911  Progress: 2299 on 2911  Progress: 2300 on 2911  Progress: 2301 on 2911  Progress: 2302 on 2911  Progress: 2303 on 2911  Progress: 2304 on 2911  Progress: 2305 on 2911  Progress: 2306 on 2911  Progress: 2307 on 2911  Progress: 2308 on 2911  Progress: 2309 on 2911  Progress: 2310 on 2911  Progress: 2311 on 2911  Progress: 2312 on 2911  Progress: 2313 on 2911  Progress: 2314 on 2911  Progress: 2315 on 2911  Progress: 2316 on 2911  Progress: 2317 on 2911  Progress: 2318 on 2911  Progress: 2319 on 2911  Progress: 2320 on 2911  Progress: 2321 on 2911  Progress: 2322 on 2911  Progress: 2323 on 2911  Progress: 2324 on 2911  Progress: 2325 on 2911  Progress: 2326 on 2911  Progress: 2327 on 2911  Progress: 2328 on 2911  Progress: 2329 on 2911  Progress: 2330 on 2911  Progress: 2331 on 2911  Progress: 2332 on 2911  Progress: 2333 on 2911  Progress: 2334 on 2911  Progress: 2335 on 2911  Progress: 2336 on 2911  Progress: 2337 on 2911  Progress: 2338 on 2911  Progress: 2339 on 2911  Progress: 2340 on 2911  Progress: 2341 on 2911  Progress: 2342 on 2911  Progress: 2343 on 2911  Progress: 2344 on 2911  Progress: 2345 on 2911  Progress: 2346 on 2911  Progress: 2347 on 2911  Progress: 2348 on 2911  Progress: 2349 on 2911  Progress: 2350 on 2911  Progress: 2351 on 2911  Progress: 2352 on 2911  Progress: 2353 on 2911  Progress: 2354 on 2911  Progress: 2355 on 2911  Progress: 2356 on 2911  Progress: 2357 on 2911  Progress: 2358 on 2911  Progress: 2359 on 2911  Progress: 2360 on 2911  Progress: 2361 on 2911  Progress: 2362 on 2911  Progress: 2363 on 2911  Progress: 2364 on 2911  Progress: 2365 on 2911  Progress: 2366 on 2911  Progress: 2367 on 2911  Progress: 2368 on 2911  Progress: 2369 on 2911  Progress: 2370 on 2911  Progress: 2371 on 2911  Progress: 2372 on 2911  Progress: 2373 on 2911  Progress: 2374 on 2911  Progress: 2375 on 2911  Progress: 2376 on 2911  Progress: 2377 on 2911  Progress: 2378 on 2911  Progress: 2379 on 2911  Progress: 2380 on 2911  Progress: 2381 on 2911  Progress: 2382 on 2911  Progress: 2383 on 2911  Progress: 2384 on 2911  Progress: 2385 on 2911  Progress: 2386 on 2911  Progress: 2387 on 2911  Progress: 2388 on 2911  Progress: 2389 on 2911  Progress: 2390 on 2911  Progress: 2391 on 2911  Progress: 2392 on 2911  Progress: 2393 on 2911  Progress: 2394 on 2911  Progress: 2395 on 2911  Progress: 2396 on 2911  Progress: 2397 on 2911  Progress: 2398 on 2911  Progress: 2399 on 2911  Progress: 2400 on 2911  Progress: 2401 on 2911  Progress: 2402 on 2911  Progress: 2403 on 2911  Progress: 2404 on 2911  Progress: 2405 on 2911  Progress: 2406 on 2911  Progress: 2407 on 2911  Progress: 2408 on 2911  Progress: 2409 on 2911  Progress: 2410 on 2911  Progress: 2411 on 2911  Progress: 2412 on 2911  Progress: 2413 on 2911  Progress: 2414 on 2911  Progress: 2415 on 2911  Progress: 2416 on 2911  Progress: 2417 on 2911  Progress: 2418 on 2911  Progress: 2419 on 2911  Progress: 2420 on 2911  Progress: 2421 on 2911  Progress: 2422 on 2911  Progress: 2423 on 2911  Progress: 2424 on 2911  Progress: 2425 on 2911  Progress: 2426 on 2911  Progress: 2427 on 2911  Progress: 2428 on 2911  Progress: 2429 on 2911  Progress: 2430 on 2911  Progress: 2431 on 2911  Progress: 2432 on 2911  Progress: 2433 on 2911  Progress: 2434 on 2911  Progress: 2435 on 2911  Progress: 2436 on 2911  Progress: 2437 on 2911  Progress: 2438 on 2911  Progress: 2439 on 2911  Progress: 2440 on 2911  Progress: 2441 on 2911  Progress: 2442 on 2911  Progress: 2443 on 2911  Progress: 2444 on 2911  Progress: 2445 on 2911  Progress: 2446 on 2911  Progress: 2447 on 2911  Progress: 2448 on 2911  Progress: 2449 on 2911  Progress: 2450 on 2911  Progress: 2451 on 2911  Progress: 2452 on 2911  Progress: 2453 on 2911  Progress: 2454 on 2911  Progress: 2455 on 2911  Progress: 2456 on 2911  Progress: 2457 on 2911  Progress: 2458 on 2911  Progress: 2459 on 2911  Progress: 2460 on 2911  Progress: 2461 on 2911  Progress: 2462 on 2911  Progress: 2463 on 2911  Progress: 2464 on 2911  Progress: 2465 on 2911  Progress: 2466 on 2911  Progress: 2467 on 2911  Progress: 2468 on 2911  Progress: 2469 on 2911  Progress: 2470 on 2911  Progress: 2471 on 2911  Progress: 2472 on 2911  Progress: 2473 on 2911  Progress: 2474 on 2911  Progress: 2475 on 2911  Progress: 2476 on 2911  Progress: 2477 on 2911  Progress: 2478 on 2911  Progress: 2479 on 2911  Progress: 2480 on 2911  Progress: 2481 on 2911  Progress: 2482 on 2911  Progress: 2483 on 2911  Progress: 2484 on 2911  Progress: 2485 on 2911  Progress: 2486 on 2911  Progress: 2487 on 2911  Progress: 2488 on 2911  Progress: 2489 on 2911  Progress: 2490 on 2911  Progress: 2491 on 2911  Progress: 2492 on 2911  Progress: 2493 on 2911  Progress: 2494 on 2911  Progress: 2495 on 2911  Progress: 2496 on 2911  Progress: 2497 on 2911  Progress: 2498 on 2911  Progress: 2499 on 2911  Progress: 2500 on 2911  Progress: 2501 on 2911  Progress: 2502 on 2911  Progress: 2503 on 2911  Progress: 2504 on 2911  Progress: 2505 on 2911  Progress: 2506 on 2911  Progress: 2507 on 2911  Progress: 2508 on 2911  Progress: 2509 on 2911  Progress: 2510 on 2911  Progress: 2511 on 2911  Progress: 2512 on 2911  Progress: 2513 on 2911  Progress: 2514 on 2911  Progress: 2515 on 2911  Progress: 2516 on 2911  Progress: 2517 on 2911  Progress: 2518 on 2911  Progress: 2519 on 2911  Progress: 2520 on 2911  Progress: 2521 on 2911  Progress: 2522 on 2911  Progress: 2523 on 2911  Progress: 2524 on 2911  Progress: 2525 on 2911  Progress: 2526 on 2911  Progress: 2527 on 2911  Progress: 2528 on 2911  Progress: 2529 on 2911  Progress: 2530 on 2911  Progress: 2531 on 2911  Progress: 2532 on 2911  Progress: 2533 on 2911  Progress: 2534 on 2911  Progress: 2535 on 2911  Progress: 2536 on 2911  Progress: 2537 on 2911  Progress: 2538 on 2911  Progress: 2539 on 2911  Progress: 2540 on 2911  Progress: 2541 on 2911  Progress: 2542 on 2911  Progress: 2543 on 2911  Progress: 2544 on 2911  Progress: 2545 on 2911  Progress: 2546 on 2911  Progress: 2547 on 2911  Progress: 2548 on 2911  Progress: 2549 on 2911  Progress: 2550 on 2911  Progress: 2551 on 2911  Progress: 2552 on 2911  Progress: 2553 on 2911  Progress: 2554 on 2911  Progress: 2555 on 2911  Progress: 2556 on 2911  Progress: 2557 on 2911  Progress: 2558 on 2911  Progress: 2559 on 2911  Progress: 2560 on 2911  Progress: 2561 on 2911  Progress: 2562 on 2911  Progress: 2563 on 2911  Progress: 2564 on 2911  Progress: 2565 on 2911  Progress: 2566 on 2911  Progress: 2567 on 2911  Progress: 2568 on 2911  Progress: 2569 on 2911  Progress: 2570 on 2911  Progress: 2571 on 2911  Progress: 2572 on 2911  Progress: 2573 on 2911  Progress: 2574 on 2911  Progress: 2575 on 2911  Progress: 2576 on 2911  Progress: 2577 on 2911  Progress: 2578 on 2911  Progress: 2579 on 2911  Progress: 2580 on 2911  Progress: 2581 on 2911  Progress: 2582 on 2911  Progress: 2583 on 2911  Progress: 2584 on 2911  Progress: 2585 on 2911  Progress: 2586 on 2911  Progress: 2587 on 2911  Progress: 2588 on 2911  Progress: 2589 on 2911  Progress: 2590 on 2911  Progress: 2591 on 2911  Progress: 2592 on 2911  Progress: 2593 on 2911  Progress: 2594 on 2911  Progress: 2595 on 2911  Progress: 2596 on 2911  Progress: 2597 on 2911  Progress: 2598 on 2911  Progress: 2599 on 2911  Progress: 2600 on 2911  Progress: 2601 on 2911  Progress: 2602 on 2911  Progress: 2603 on 2911  Progress: 2604 on 2911  Progress: 2605 on 2911  Progress: 2606 on 2911  Progress: 2607 on 2911  Progress: 2608 on 2911  Progress: 2609 on 2911  Progress: 2610 on 2911  Progress: 2611 on 2911  Progress: 2612 on 2911  Progress: 2613 on 2911  Progress: 2614 on 2911  Progress: 2615 on 2911  Progress: 2616 on 2911  Progress: 2617 on 2911  Progress: 2618 on 2911  Progress: 2619 on 2911  Progress: 2620 on 2911  Progress: 2621 on 2911  Progress: 2622 on 2911  Progress: 2623 on 2911  Progress: 2624 on 2911  Progress: 2625 on 2911  Progress: 2626 on 2911  Progress: 2627 on 2911  Progress: 2628 on 2911  Progress: 2629 on 2911  Progress: 2630 on 2911  Progress: 2631 on 2911  Progress: 2632 on 2911  Progress: 2633 on 2911  Progress: 2634 on 2911  Progress: 2635 on 2911  Progress: 2636 on 2911  Progress: 2637 on 2911  Progress: 2638 on 2911  Progress: 2639 on 2911  Progress: 2640 on 2911  Progress: 2641 on 2911  Progress: 2642 on 2911  Progress: 2643 on 2911  Progress: 2644 on 2911  Progress: 2645 on 2911  Progress: 2646 on 2911  Progress: 2647 on 2911  Progress: 2648 on 2911  Progress: 2649 on 2911  Progress: 2650 on 2911  Progress: 2651 on 2911  Progress: 2652 on 2911  Progress: 2653 on 2911  Progress: 2654 on 2911  Progress: 2655 on 2911  Progress: 2656 on 2911  Progress: 2657 on 2911  Progress: 2658 on 2911  Progress: 2659 on 2911  Progress: 2660 on 2911  Progress: 2661 on 2911  Progress: 2662 on 2911  Progress: 2663 on 2911  Progress: 2664 on 2911  Progress: 2665 on 2911  Progress: 2666 on 2911  Progress: 2667 on 2911  Progress: 2668 on 2911  Progress: 2669 on 2911  Progress: 2670 on 2911  Progress: 2671 on 2911  Progress: 2672 on 2911  Progress: 2673 on 2911  Progress: 2674 on 2911  Progress: 2675 on 2911  Progress: 2676 on 2911  Progress: 2677 on 2911  Progress: 2678 on 2911  Progress: 2679 on 2911  Progress: 2680 on 2911  Progress: 2681 on 2911  Progress: 2682 on 2911  Progress: 2683 on 2911  Progress: 2684 on 2911  Progress: 2685 on 2911  Progress: 2686 on 2911  Progress: 2687 on 2911  Progress: 2688 on 2911  Progress: 2689 on 2911  Progress: 2690 on 2911  Progress: 2691 on 2911  Progress: 2692 on 2911  Progress: 2693 on 2911  Progress: 2694 on 2911  Progress: 2695 on 2911  Progress: 2696 on 2911  Progress: 2697 on 2911  Progress: 2698 on 2911  Progress: 2699 on 2911  Progress: 2700 on 2911  Progress: 2701 on 2911  Progress: 2702 on 2911  Progress: 2703 on 2911  Progress: 2704 on 2911  Progress: 2705 on 2911  Progress: 2706 on 2911  Progress: 2707 on 2911  Progress: 2708 on 2911  Progress: 2709 on 2911  Progress: 2710 on 2911  Progress: 2711 on 2911  Progress: 2712 on 2911  Progress: 2713 on 2911  Progress: 2714 on 2911  Progress: 2715 on 2911  Progress: 2716 on 2911  Progress: 2717 on 2911  Progress: 2718 on 2911  Progress: 2719 on 2911  Progress: 2720 on 2911  Progress: 2721 on 2911  Progress: 2722 on 2911  Progress: 2723 on 2911  Progress: 2724 on 2911  Progress: 2725 on 2911  Progress: 2726 on 2911  Progress: 2727 on 2911  Progress: 2728 on 2911  Progress: 2729 on 2911  Progress: 2730 on 2911  Progress: 2731 on 2911  Progress: 2732 on 2911  Progress: 2733 on 2911  Progress: 2734 on 2911  Progress: 2735 on 2911  Progress: 2736 on 2911  Progress: 2737 on 2911  Progress: 2738 on 2911  Progress: 2739 on 2911  Progress: 2740 on 2911  Progress: 2741 on 2911  Progress: 2742 on 2911  Progress: 2743 on 2911  Progress: 2744 on 2911  Progress: 2745 on 2911  Progress: 2746 on 2911  Progress: 2747 on 2911  Progress: 2748 on 2911  Progress: 2749 on 2911  Progress: 2750 on 2911  Progress: 2751 on 2911  Progress: 2752 on 2911  Progress: 2753 on 2911  Progress: 2754 on 2911  Progress: 2755 on 2911  Progress: 2756 on 2911  Progress: 2757 on 2911  Progress: 2758 on 2911  Progress: 2759 on 2911  Progress: 2760 on 2911  Progress: 2761 on 2911  Progress: 2762 on 2911  Progress: 2763 on 2911  Progress: 2764 on 2911  Progress: 2765 on 2911  Progress: 2766 on 2911  Progress: 2767 on 2911  Progress: 2768 on 2911  Progress: 2769 on 2911  Progress: 2770 on 2911  Progress: 2771 on 2911  Progress: 2772 on 2911  Progress: 2773 on 2911  Progress: 2774 on 2911  Progress: 2775 on 2911  Progress: 2776 on 2911  Progress: 2777 on 2911  Progress: 2778 on 2911  Progress: 2779 on 2911  Progress: 2780 on 2911  Progress: 2781 on 2911  Progress: 2782 on 2911  Progress: 2783 on 2911  Progress: 2784 on 2911  Progress: 2785 on 2911  Progress: 2786 on 2911  Progress: 2787 on 2911  Progress: 2788 on 2911  Progress: 2789 on 2911  Progress: 2790 on 2911  Progress: 2791 on 2911  Progress: 2792 on 2911  Progress: 2793 on 2911  Progress: 2794 on 2911  Progress: 2795 on 2911  Progress: 2796 on 2911  Progress: 2797 on 2911  Progress: 2798 on 2911  Progress: 2799 on 2911  Progress: 2800 on 2911  Progress: 2801 on 2911  Progress: 2802 on 2911  Progress: 2803 on 2911  Progress: 2804 on 2911  Progress: 2805 on 2911  Progress: 2806 on 2911  Progress: 2807 on 2911  Progress: 2808 on 2911  Progress: 2809 on 2911  Progress: 2810 on 2911  Progress: 2811 on 2911  Progress: 2812 on 2911  Progress: 2813 on 2911  Progress: 2814 on 2911  Progress: 2815 on 2911  Progress: 2816 on 2911  Progress: 2817 on 2911  Progress: 2818 on 2911  Progress: 2819 on 2911  Progress: 2820 on 2911  Progress: 2821 on 2911  Progress: 2822 on 2911  Progress: 2823 on 2911  Progress: 2824 on 2911  Progress: 2825 on 2911  Progress: 2826 on 2911  Progress: 2827 on 2911  Progress: 2828 on 2911  Progress: 2829 on 2911  Progress: 2830 on 2911  Progress: 2831 on 2911  Progress: 2832 on 2911  Progress: 2833 on 2911  Progress: 2834 on 2911  Progress: 2835 on 2911  Progress: 2836 on 2911  Progress: 2837 on 2911  Progress: 2838 on 2911  Progress: 2839 on 2911  Progress: 2840 on 2911  Progress: 2841 on 2911  Progress: 2842 on 2911  Progress: 2843 on 2911  Progress: 2844 on 2911  Progress: 2845 on 2911  Progress: 2846 on 2911  Progress: 2847 on 2911  Progress: 2848 on 2911  Progress: 2849 on 2911  Progress: 2850 on 2911  Progress: 2851 on 2911  Progress: 2852 on 2911  Progress: 2853 on 2911  Progress: 2854 on 2911  Progress: 2855 on 2911  Progress: 2856 on 2911  Progress: 2857 on 2911  Progress: 2858 on 2911  Progress: 2859 on 2911  Progress: 2860 on 2911  Progress: 2861 on 2911  Progress: 2862 on 2911  Progress: 2863 on 2911  Progress: 2864 on 2911  Progress: 2865 on 2911  Progress: 2866 on 2911  Progress: 2867 on 2911  Progress: 2868 on 2911  Progress: 2869 on 2911  Progress: 2870 on 2911  Progress: 2871 on 2911  Progress: 2872 on 2911  Progress: 2873 on 2911  Progress: 2874 on 2911  Progress: 2875 on 2911  Progress: 2876 on 2911  Progress: 2877 on 2911  Progress: 2878 on 2911  Progress: 2879 on 2911  Progress: 2880 on 2911  Progress: 2881 on 2911  Progress: 2882 on 2911  Progress: 2883 on 2911  Progress: 2884 on 2911  Progress: 2885 on 2911  Progress: 2886 on 2911  Progress: 2887 on 2911  Progress: 2888 on 2911  Progress: 2889 on 2911  Progress: 2890 on 2911  Progress: 2891 on 2911  Progress: 2892 on 2911  Progress: 2893 on 2911  Progress: 2894 on 2911  Progress: 2895 on 2911  Progress: 2896 on 2911  Progress: 2897 on 2911  Progress: 2898 on 2911  Progress: 2899 on 2911  Progress: 2900 on 2911  Progress: 2901 on 2911  Progress: 2902 on 2911  Progress: 2903 on 2911  Progress: 2904 on 2911  Progress: 2905 on 2911  Progress: 2906 on 2911  Progress: 2907 on 2911  Progress: 2908 on 2911  Progress: 2909 on 2911  Progress: 2910 on 2911  Progress: 2911 on 2911  
za_instytucja <- za_instytucja %>%
  filter(is.na(czy_nazwisko)&is.na(czy_imie)) %>%
  filter(instytucja!="") %>%
  filter(!grepl("^\\[[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]|^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]",instytucja)) %>%
  mutate(instytucja = str_remove(instytucja,"\\.$")) %>%
  select(ZA_UWAGI,instytucja) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#10: wydawnictwo
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI, X260) %>%
  mutate(X260 = str_replace_all(X260,"s\\.n\\.", "b.w."), 
         X260 = str_replace_all(X260,"s\\.l\\.", "b.m."), 
         X260 = str_replace_all(X260,"S\\.l\\.", "b.m."), 
         X260 = str_remove(X260,"^\\\\+"), 
         rok_wydania = str_extract_all(X260, "(?<=\\$c).*(?=\\$e)|(?<=\\$c).*"), 
         bez_roku = str_replace_all(X260, ".\\$c.*", ""), 
         ile_wydawnictw = str_count(bez_roku, "\\$b"),
         ile_miejsc = str_count(bez_roku, "\\$a"),
         kolejnosc = str_replace_all(as.character(str_extract_all(bez_roku, "\\$.")), "[^a-z]", ""),
         bez_roku = str_replace_all(bez_roku, ";\\$b", ":$b"),
         wydaw_podziel = ifelse(ile_wydawnictw>ile_miejsc|kolejnosc=="caabb", str_replace_all(bez_roku, "(\\$a)(.*?)( :\\$b.*?)( :\\$b)", "\\1\\2\\3 ;$a\\2\\4"),bez_roku),
         wydawnictwo_test = str_replace_all(wydaw_podziel, "(\\$b)(.*?)( ;\\$a)", "\\1\\2|\\3")) %>%
  select(ZA_UWAGI,rok_wydania,wydawnictwo_test) %>%
  cSplit(., "wydawnictwo_test", sep = "|", direction = "long") %>%
  mutate(wydawnictwo = str_extract_all(wydawnictwo_test, "(?<=\\$b)(.*)"),
         miejsce_wydania = str_replace_all(str_extract_all(wydawnictwo_test, "(?<=\\$a)(.*)(?= {0,1}: {0,1}\\$b)|(?<=\\$a)(.*)($)")," ;\\$a", ", "),
         nazwa_prosta = str_to_lower(str_replace_all(str_replace_all(unlist(wydawnictwo_test), "\\$\\w", ""), "\\W", ""))) %>%
  left_join(.,PBL_wydawnictwa,by="nazwa_prosta") %>%
  mutate(to_samo = wydawnictwo==WY_NAZWA) %>%
  arrange(ZA_UWAGI,-to_samo,-WY_LICZBA_ZAPISOW)
argument is not an atomic vector; coercing
BN_wydawnictwo$id_grupy <- cumsum(!duplicated(BN_wydawnictwo[1:3]))
BN_wydawnictwo <- BN_wydawnictwo[!duplicated(BN_wydawnictwo$id_grupy),] %>%
  mutate(WY_NAZWA = ifelse(!is.na(WY_NAZWA),as.character(WY_NAZWA),as.character(wydawnictwo)),
         WY_MIASTO = ifelse(!is.na(WY_MIASTO),as.character(WY_MIASTO),trim(as.character(miejsce_wydania))),
         rok_wydania = str_replace_all(rok_wydania, "(.*)(\\.)", "\\1"),
         za_rok_wydania = ifelse(nchar(rok_wydania)==4,as.character(rok_wydania),NA),
         do_opisu = ifelse(is.na(za_rok_wydania),paste("[",str_extract(rok_wydania,"\\d{4}"),"]",sep = ""),""),
         WY_MIASTO = ifelse(substr(WY_MIASTO,1,1)=="["&substr(WY_MIASTO,nchar(WY_MIASTO),nchar(WY_MIASTO))!="]"&is.na(WY_WYDAWNICTWO_ID),paste(trim(WY_MIASTO),"]",sep = ""),as.character(WY_MIASTO))) %>%
  select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania,do_opisu) %>% 
  mutate(WY_NAZWA = ifelse(str_count(WY_NAZWA, "\\[")>str_count(WY_NAZWA, "\\]"), paste(WY_NAZWA, "]", sep = ""),
                           ifelse(str_count(WY_NAZWA, "\\[")<str_count(WY_NAZWA, "\\]"), paste("[", WY_NAZWA, sep = ""), as.character(WY_NAZWA))),
         WY_MIASTO = ifelse(str_count(WY_MIASTO, "\\[")>str_count(WY_MIASTO, "\\]"), paste(WY_MIASTO, "]", sep = ""),
                           ifelse(str_count(WY_MIASTO, "\\[")<str_count(WY_MIASTO, "\\]"), paste("[", WY_MIASTO, sep = ""), as.character(WY_MIASTO))))

#11: opis fizyczny książki
#pole 300 do opisu fizycznego
marc_field_300 <- data %>%
  select(ZA_UWAGI,X300)%>%
  filter(X300!="") %>%
  mutate(X300=str_replace_all(X300,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X300",sep = "~",direction = "long") %>%
  filter(X300!="") %>%
  mutate(X300=str_remove_all(X300,"^\\|")) %>%
  mutate(indicator = str_replace_all(X300,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X300,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_300)[1]))
colnames(empty_table) <-subfield_list
marc_field_300<-cbind(marc_field_300,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_300$X300 <- str_replace(marc_field_300$X300,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_300[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_300$X300),str_replace_all(gsub(string,"\\3",marc_field_300$X300),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
marc_field_300 <- marc_field_300 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$b` = str_remove(`$b`," \\;+$| \\:+$"),
         `$e` = ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`)&grepl("\\+ dysk|płyt",`$e`),str_extract(`$e`,"(?<=\\+)(dysk|płyt.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),
                       ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`),str_extract(`$e`,"(^.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),NA)),
         `$a` = ifelse(is.na(`$a`),"",as.character(`$a`)),
         `$b` = ifelse(is.na(`$b`),"",as.character(`$b`)),
         `$e` = ifelse(is.na(`$e`),"",as.character(`$e`)))
#pole 500 do opisu fizycznego
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  mutate(`$a` = ifelse(grepl("oryg(\\.|\\,)",X500)&grepl("pseud|nazwa",X500,ignore.case = TRUE),str_replace(`$a`,"(^.*?)(\\. )(\\p{Lu}.*$)","\\3"),as.character(`$a`))) %>% 
  filter(!grepl("oryg(\\.|\\,)",`$a`)&grepl("pseud|nazwa|dotycz|pol",`$a`,ignore.case = TRUE)) %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))
  
#pole 546 do opisu fizycznego
marc_field_546 <- data %>%
  select(ZA_UWAGI,X546)%>%
  filter(X546!="") %>%
  mutate(X546=str_replace_all(X546,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X546",sep = "~",direction = "long") %>%
  filter(X546!="") %>%
  mutate(X546=str_remove_all(X546,"^\\|")) %>%
  mutate(indicator = str_replace_all(X546,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X546,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_546)[1]))
colnames(empty_table) <-subfield_list
marc_field_546<-cbind(marc_field_546,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_546$X546 <- str_replace(marc_field_546$X546,subfield_list_char[i],"|\\1")
}
Progress: 1 on 2  Progress: 2 on 2  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_546[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_546$X546),str_replace_all(gsub(string,"\\3",marc_field_546$X546),"\\${2}.", "~"),NA)
}
Progress: 1 on 2  Progress: 2 on 2  
marc_field_546 <- marc_field_546 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))

za_opis_ks <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,do_opisu),by="ZA_UWAGI") %>%
  left_join(.,marc_field_300 %>% select(ZA_UWAGI,X300a=`$a`,X300b=`$b`,X300e=`$e`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_500 %>% select(ZA_UWAGI,X500a=`$a`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_546 %>% select(ZA_UWAGI,X546a=`$a`),by="ZA_UWAGI")
za_opis_ks[is.na(za_opis_ks)]  <- ""
za_opis_ks <- za_opis_ks %>%
  mutate(za_opis_ks = paste(ifelse(do_opisu!="",paste(as.character(do_opisu),", ",sep = ""),""),ifelse(X300a!="",paste(as.character(X300a),", ",sep = ""),""),ifelse(X300b!="",paste(as.character(X300b),", ",sep = ""),""),ifelse(X300e!="",paste(as.character(X300e),", ",sep = ""),""),ifelse(X500a!="",paste(as.character(X500a),", ",sep = ""),""),ifelse(X546a!="",as.character(X546a),""),sep = ""),
         za_opis_ks = str_remove(za_opis_ks,"(, )+$")) %>%
  select(ZA_UWAGI,za_opis_ks) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(za_opis_ks))
za_opis_ks$id_grupy <- cumsum(!duplicated(za_opis_ks[1]))
za_opis_ks <- za_opis_ks[!duplicated(za_opis_ks$id_grupy),] %>%
  select(-id_grupy)

#12: seria wydawnicza
marc_field_490 <- data %>%
  select(ZA_UWAGI,X490,X800,X830) %>%
  mutate(X490 = ifelse(grepl("U\\+",X490),as.character(X830),as.character(X490))) %>%
  mutate(X800 = ifelse(X490!="","",as.character(X800)),
         X830 = ifelse(X490!="","",as.character(X830)),
         X800 = str_replace(X800,"(\\$a)(.*)(\\$t)","\\1"),
         X490 = ifelse(X490==""&X830!="",as.character(X830),
                       ifelse(X490==""&X800!="",as.character(X800),as.character(X490)))) %>%
  select(ZA_UWAGI,X490) %>%
  filter(X490!="") %>%
  mutate(X490=str_replace_all(X490,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X490",sep = "~",direction = "long") %>%
  filter(X490!="") %>%
  mutate(X490=str_remove_all(X490,"^\\|")) %>%
  mutate(indicator = str_replace_all(X490,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X490,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_490)[1]))
colnames(empty_table) <-subfield_list
marc_field_490<-cbind(marc_field_490,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_490$X490 <- str_replace(marc_field_490$X490,subfield_list_char[i],"|\\1")
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_490[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_490$X490),str_replace_all(gsub(string,"\\3",marc_field_490$X490),"\\${2}.", "~"),NA)
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
za_seria_wydawnicza <- marc_field_490 %>%
  mutate(`$a` = str_replace_all(`$a`,"(=)(\\$a)","\\1 "),
         `$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$v` = ifelse(is.na(`$v`),"",as.character(`$v`))) %>%
  filter(!is.na(`$a`)) %>%
  mutate(seria = str_remove(paste("(",`$a`,"; ",`$v`,")",sep = ""),"; (?=\\)$)"),
         seria = gsub("( : )(.)",". \\U\\2",perl=TRUE,seria)) %>%
  select(ZA_UWAGI,seria) %>%
  group_by(ZA_UWAGI) %>%
  mutate(seria = paste(seria,collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(seria = str_replace_all(seria,"\\$.","; ")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#13: tomy
za_tomy <- data %>%
  select(ZA_UWAGI) %>%
  mutate(za_tomy = NA)

#14: adnotacje
za_adnotacje <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_autor %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  mutate(ZA_ADNOTACJE = paste(ifelse(is.na(ZA_ADNOTACJE.x),"",paste(as.character(ZA_ADNOTACJE.x),"# ",sep = "")),ifelse(is.na(ZA_ADNOTACJE.y),"",as.character(ZA_ADNOTACJE.y)),sep = ""),
         ZA_ADNOTACJE = str_remove(ZA_ADNOTACJE,"(# )+$")) %>%
  select(ZA_UWAGI,ZA_ADNOTACJE) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(ZA_ADNOTACJE))
za_adnotacje$id_grupy <- cumsum(!duplicated(za_adnotacje[1]))
za_adnotacje <- za_adnotacje[!duplicated(za_adnotacje$id_grupy),] %>%
  select(-id_grupy)

#15: BN_URL
BN_URL <- data %>%
  select(ZA_UWAGI,BN_URL)

#wyrównanie liczby wierszy do liczby wierszy obiektu data
BN_autor <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_autor %>% select(ZA_UWAGI,AM_AUTOR_ID,AM_NAZWISKO,AM_IMIE),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, AM_AUTOR_ID = paste(AM_AUTOR_ID, collapse="|"), AM_NAZWISKO = paste(AM_NAZWISKO, collapse="|"), AM_IMIE = paste(AM_IMIE, collapse="|"))
BN_wspoltworca <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,OS_OSOBA_ID,OS_NAZWISKO,OS_IMIE,fo_symbol),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, OS_OSOBA_ID = paste(OS_OSOBA_ID, collapse="|"), OS_NAZWISKO = paste(OS_NAZWISKO, collapse="|"), OS_IMIE = paste(OS_IMIE, collapse="|"), fo_symbol = paste(fo_symbol, collapse="|")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL","NA",as.character(fo_symbol)))
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, WY_WYDAWNICTWO_ID = paste(WY_WYDAWNICTWO_ID, collapse="|"), WY_NAZWA = paste(WY_NAZWA, collapse="|"), WY_MIASTO = paste(WY_MIASTO, collapse="|"), za_rok_wydania = paste(unique(za_rok_wydania), collapse="|")) %>%
  mutate(za_rok_wydania = ifelse(za_rok_wydania=="NA","",as.integer(za_rok_wydania)))
pojawi戼㸳y si攼㹡 warto㤼㹣ci NA na skutek przekszta戼㸳cenia
#połączenie wszystkich elementów w jedną tabelę
kolejnosc <- data.frame(kolejnosc=c("ZA_UWAGI","RZ_NAZWA","ZA_RO_ROK","ZA_TYPE","RZ_RODZAJ_ID","DZ_NAZWA","DZ_DZIAL_ID","TW_TWORCA_ID","AM_AUTOR_ID","AM_NAZWISKO","AM_IMIE","ZA_TYTUL","ZA_TYTUL_ORYGINALU","ZA_JEZYK_ORYGINALU","OS_OSOBA_ID","OS_NAZWISKO","OS_IMIE","fo_symbol","za_opis_wspoltworcow","wydanie","za_tomy","instytucja","WY_WYDAWNICTWO_ID","WY_MIASTO","WY_NAZWA","za_rok_wydania","za_opis_ks","seria","TW_NAZWISKO","TW_IMIE","redaktor_dzialu","ZA_ADNOTACJE","BN_URL"))
polaczone <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,pola_pbl,by = "ZA_UWAGI") %>%
  left_join(.,BN_autor,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,za_jezyk_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_wspoltworcow,by = "ZA_UWAGI") %>%
  left_join(.,za_wydanie,by = "ZA_UWAGI") %>%
  left_join(.,za_instytucja,by = "ZA_UWAGI") %>%
  left_join(.,BN_wydawnictwo,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_ks,by = "ZA_UWAGI") %>%
  left_join(.,za_seria_wydawnicza,by = "ZA_UWAGI") %>%
  left_join(.,za_tomy,by = "ZA_UWAGI") %>%
  left_join(.,za_adnotacje,by = "ZA_UWAGI") %>%
  left_join(.,BN_URL,by = "ZA_UWAGI") %>%
  select(as.vector(kolejnosc$kolejnosc))
colnames(polaczone) <- c("rekord_BN","rz_nazwa","za_ro_rok","za_type","rz_rodzaj_id","DZ_NAZWA","DZ_DZIAL_ID","tw_tworca_id","am_autor_id","am_nazwisko","am_imie","za_tytul","za_tytul_oryginalu","za_jezyk_oryginalu","os_osoba_id","os_nazwisko","os_imie","fo_symbol","za_opis_wspoltworcow","za_wydanie","za_tomy","za_instytucja","wy_wydawnictwo_id","wy_miejsce","wy_nazwa","za_rok_wydania","za_opis_fizyczny_ksiazki","za_seria_wydawnicza","tw_nazwisko","tw_imie","pracownik","za_adnotacje","BN_URL")

#zasygnalizowanie niepoprawnego kodowania
x <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("<U\\+(....)>",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)!=0,paste(polaczone$za_adnotacje,paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole",sep = ""),sep = "# "),paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole",sep = "")),as.character(polaczone$za_adnotacje))
  polaczone[,i] <- gsub("<U\\+(....)>", "???", polaczone[,i])
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku $ w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("\\$",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności frazy "character(0)" w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("character\\(0\\)",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku # w opisie współtwórców
polaczone$za_adnotacje <- ifelse(grepl("\\#",polaczone$za_opis_wspoltworcow),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności \"#\" współtwórcy z pola 700)",paste(polaczone$za_adnotacje,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności # współtwórcy z pola 700)",sep = "# ")),as.character(polaczone$za_adnotacje))

out <- cSplit(polaczone, c("am_autor_id", "am_nazwisko", "am_imie","os_osoba_id","os_nazwisko", "os_imie", "fo_symbol","wy_wydawnictwo_id","wy_miejsce","wy_nazwa"),sep = "|",direction = "long") %>%
  unique()

out$rekord_BN <- ifelse(is.na(out$rekord_BN),'',as.character(out$rekord_BN))
out$rz_nazwa <- ifelse(is.na(out$rz_nazwa),'',as.character(out$rz_nazwa))
out$za_ro_rok <- ifelse(is.na(out$za_ro_rok),'',as.character(out$za_ro_rok))
out$za_type <- ifelse(is.na(out$za_type),'',as.character(out$za_type))
out$rz_rodzaj_id <- ifelse(is.na(out$rz_rodzaj_id),'',as.character(out$rz_rodzaj_id))
out$DZ_NAZWA <- ifelse(is.na(out$DZ_NAZWA),'',as.character(out$DZ_NAZWA))
out$DZ_DZIAL_ID <- ifelse(is.na(out$DZ_DZIAL_ID),'',as.character(out$DZ_DZIAL_ID))
out$tw_tworca_id <- ifelse(is.na(out$tw_tworca_id),'',as.character(out$tw_tworca_id))
out$am_autor_id <- ifelse(is.na(out$am_autor_id),'',as.character(out$am_autor_id))
out$am_nazwisko <- ifelse(is.na(out$am_nazwisko),'',as.character(out$am_nazwisko))
out$am_imie <- ifelse(is.na(out$am_imie),'',as.character(out$am_imie))
out$za_tytul <- ifelse(is.na(out$za_tytul),'',as.character(out$za_tytul))
out$za_tytul_oryginalu <- ifelse(is.na(out$za_tytul_oryginalu),'',as.character(out$za_tytul_oryginalu))
out$za_jezyk_oryginalu <- ifelse(is.na(out$za_jezyk_oryginalu),'',as.character(out$za_jezyk_oryginalu))
out$os_osoba_id <- ifelse(is.na(out$os_osoba_id),'',as.character(out$os_osoba_id))
out$os_nazwisko <- ifelse(is.na(out$os_nazwisko),'',as.character(out$os_nazwisko))
out$os_imie <- ifelse(is.na(out$os_imie),'',as.character(out$os_imie))
out$fo_symbol <- ifelse(is.na(out$fo_symbol),'',as.character(out$fo_symbol))
out$za_opis_wspoltworcow <- ifelse(is.na(out$za_opis_wspoltworcow),'',as.character(out$za_opis_wspoltworcow))
out$za_wydanie <- ifelse(is.na(out$za_wydanie),'',as.character(out$za_wydanie))
out$za_tomy <- ifelse(is.na(out$za_tomy),'',as.character(out$za_tomy))
out$za_instytucja <- ifelse(is.na(out$za_instytucja),'',as.character(out$za_instytucja))
out$wy_wydawnictwo_id <- ifelse(is.na(out$wy_wydawnictwo_id),'',as.character(out$wy_wydawnictwo_id))
out$wy_miejsce <- ifelse(is.na(out$wy_miejsce),'',as.character(out$wy_miejsce))
out$wy_nazwa <- ifelse(is.na(out$wy_nazwa),'',as.character(out$wy_nazwa))
out$za_rok_wydania <- ifelse(is.na(out$za_rok_wydania),'',as.character(out$za_rok_wydania))
out$za_opis_fizyczny_ksiazki <- ifelse(is.na(out$za_opis_fizyczny_ksiazki),'',as.character(out$za_opis_fizyczny_ksiazki))
out$za_seria_wydawnicza <- ifelse(is.na(out$za_seria_wydawnicza),'',as.character(out$za_seria_wydawnicza))
out$tw_nazwisko <- ifelse(is.na(out$tw_nazwisko),'',as.character(out$tw_nazwisko))
out$tw_imie <- ifelse(is.na(out$tw_imie),'',as.character(out$tw_imie))
out$pracownik <- ifelse(is.na(out$pracownik),'',as.character(out$pracownik))
out$za_adnotacje <- ifelse(is.na(out$za_adnotacje),'',as.character(out$za_adnotacje))
out$BN_URL <- ifelse(is.na(out$BN_URL),'',as.character(out$BN_URL))

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same
out$same[1] <- 0
out$dzielone <- paste(out$am_autor_id,out$am_nazwisko,out$am_imie,out$os_osoba_id,out$os_nazwisko,out$os_imie,out$fo_symbol,out$wy_wydawnictwo_id,out$wy_miejsce,out$wy_nazwa,sep = "")

out <- out %>%
  filter(!(same==1&dzielone=="")) %>%
  select(1:33)

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same

#ucięcie zbyt długich ciągów znaków, by weszły do oracle'a
dlugosci <- data.frame(pole = c("am_nazwisko", "am_imie", "za_tytul", "za_tytul_oryginalu", "za_jezyk_oryginalu", "os_nazwisko", "os_imie", "za_opis_wspoltworcow", "za_instytucja", "wy_miejsce", "wy_nazwa", "za_opis_fizyczny_ksiazki", "za_seria_wydawnicza", "tw_nazwisko", "tw_imie", "za_adnotacje"), liczba_znakow = c(50,40,500,500,100,50,40,500,255,40,255,1000,255,200,40,2000))
x <- match(dlugosci$pole,names(out))
for (i in x) {
  progress(match(i,x), max.value = length(x))
  dlugosc <- dlugosci$liczba_znakow[match(names(out[i]),dlugosci$pole)]
  out$za_adnotacje <- ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje!="",paste(out$za_adnotacje,paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),sep = "# "),
                             ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje=="",paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),as.character(out$za_adnotacje)))
  
  out[,i] <- ifelse(dlugosc<nchar(as.character(out[,i])),as.character(substr(out[,i],1,dlugosc)),as.character(out[,i]))
}
Progress:  1 on 16  Progress:  2 on 16  Progress:  3 on 16  Progress:  4 on 16  Progress:  5 on 16  Progress:  6 on 16  Progress:  7 on 16  Progress:  8 on 16  Progress:  9 on 16  Progress: 10 on 16  Progress: 11 on 16  Progress: 12 on 16  Progress: 13 on 16  Progress: 14 on 16  Progress: 15 on 16  Progress: 16 on 16  
out$rekord_BN[out$same == 1] <- ""
out$rz_nazwa[out$same == 1] <- ""
out$za_ro_rok[out$same == 1] <- ""
out$za_type[out$same == 1] <- ""
out$rz_rodzaj_id[out$same == 1] <- ""
out$DZ_NAZWA[out$same == 1] <- ""
out$DZ_DZIAL_ID[out$same == 1] <- ""
out$tw_tworca_id[out$same == 1] <- ""
out$za_tytul[out$same == 1] <- ""
out$za_tytul_oryginalu[out$same == 1] <- ""
out$za_jezyk_oryginalu[out$same == 1] <- ""
out$za_opis_wspoltworcow[out$same == 1] <- ""
out$za_wydanie[out$same == 1] <- ""
out$za_tomy[out$same == 1] <- ""
out$za_instytucja[out$same == 1] <- ""
out$za_rok_wydania[out$same == 1] <- ""
out$za_opis_fizyczny_ksiazki[out$same == 1] <- ""
out$za_seria_wydawnicza[out$same == 1] <- ""
out$tw_nazwisko[out$same == 1] <- ""
out$tw_imie[out$same == 1] <- ""
out$pracownik[out$same == 1] <- ""
out$za_adnotacje[out$same == 1] <- ""
out$BN_URL[out$same == 1] <- ""

out <- out %>%
  select(1:33)

#pętla zapisująca po ok. 2000 wierszy z uwzględnieniem kompletności rekordów bibliograficznych rozpisanych na kilka wierszy
out <- out %>%
  mutate(podzial = ifelse(rekord_BN!="",as.character(rekord_BN),NA)) %>%
  fill(podzial)
ile <- unique(out$podzial)
ile <- split(unique(ile), ceiling(seq_along(unique(ile))/1500))
x <- 1:length(ile)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  final <- out %>%
    filter(podzial %in% ile[[i]]) %>%
    select(-podzial)
  write.xlsx(final, paste("C:/Users/",employee_name,"/Desktop/",import_year,"_przedmiotowa_do_importu",i,".xlsx",sep = ""),sheetName = "gotowe")
}
Progress: 1 on 2  Progress: 2 on 2  
bn_ok <- chunk11
Było 36 ostrzeżenie (użyj 'warnings()' aby je zobaczyć)
data <- bn_ok %>%
  filter(rodzaj_ksiazki=="antologia") %>%
  mutate(redaktor_dzialu = paste(redaktor_dzialu,"_ant",sep = ""))
#uwolnienie kolumn z danymi z bn i przetworzenie do PBL
#1: za_uwagi, rz_nazwa, za_ro_rok, za_type, rz_rodzaj_id, tw_tworca_id, tw_nazwisko, tw_imie, dz_dzial_id, dz_nazwa, redaktor_dzialu
pola_pbl <- data %>%
  select(ZA_UWAGI, RZ_NAZWA, ZA_RO_ROK = rok, RZ_RODZAJ_ID, TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, redaktor_dzialu) %>%
  mutate(ZA_TYPE = "KS")
#2: autor
BN_autor <- data %>%
  select(ZA_UWAGI) %>%
  mutate(AM_AUTOR_ID = NA,
         AM_NAZWISKO = NA,
         AM_IMIE = NA)

#adnotacje z autorów
#w antologii adnotacja musi być wcześniej, żeby na górze było info o tekstach autorów

ZA_ADNOTACJE <- data %>%
  select(X100,X245,ZA_UWAGI)
#pole 100
marc_field_100 <- ZA_ADNOTACJE %>%
  select(ZA_UWAGI,X100)%>%
  filter(X100!="") %>%
  mutate(X100=str_replace_all(X100,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X100",sep = "~",direction = "long") %>%
  filter(X100!="") %>%
  mutate(X100=str_remove_all(X100,"^\\|")) %>%
  mutate(indicator = str_replace_all(X100,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(ZA_ADNOTACJE$X100,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_100)[1]))
colnames(empty_table) <-subfield_list
marc_field_100<-cbind(marc_field_100,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_100$X100 <- str_replace(marc_field_100$X100,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_100[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_100$X100),str_replace_all(gsub(string,"\\3",marc_field_100$X100),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
#tutaj może być błąd ze względu na brak kolumny $b, wtedy należy zmienić linię z selectem i zakomentować linię: mutate(`$a` = ifelse(!is.na(`$b`),paste(`$a`,`$b`,sep = " "),as.character(`$a`))) %>%
ZA_ADNOTACJE <- marc_field_100 %>%
  #select(ZA_UWAGI,`$a`,`$b`) %>%
  select(ZA_UWAGI,`$a`) %>%
  unique() %>%
  #mutate(`$a` = ifelse(!is.na(`$b`),paste(`$a`,`$b`,sep = " "),as.character(`$a`))) %>%
  mutate(`$a` = str_remove(`$a`,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)")) %>%
  unique() %>%
  mutate(AM_NAZWISKO = ifelse(grepl("\\|",`$a`), str_replace_all(str_remove_all(`$a`,","),"\\|",", "),
                              ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\1"),as.character(`$a`))),
         AM_IMIE = ifelse(grepl("\\|",`$a`),"*",
                          ifelse(grepl(",",`$a`),str_replace_all(`$a`,"(.*?)(, )(.*)","\\3"),"*"))) %>%
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE) %>%
  unite("ZA_ADNOTACJE", AM_IMIE:AM_NAZWISKO, sep = " ") %>%
  group_by(ZA_UWAGI) %>%
  mutate(ZA_ADNOTACJE = paste("[Teksty aut.:]",paste(ZA_ADNOTACJE,collapse = ", "),sep = " ")) %>%
  ungroup() %>%
  unique() %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#3: tytuł
#pole 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
marc_field_245 <- marc_field_245 %>%
 select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
 group_by(ZA_UWAGI) %>%
 mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
        `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " "),
        `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = " "),
        `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = " ")) %>%
 ungroup() %>%
 unique() %>%
 unite("ZA_TYTUL",`$a`:`$p`,sep = " ",na.rm = TRUE) %>%
 mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
        ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
        ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                        ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
        ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                        ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
        ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
        ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
        ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
 select(ZA_UWAGI,ZA_TYTUL)
#dopisanie gatunku do przedmiotowej na podstawie 655 i 650  
gatunki_pbl <- data.frame(gatunek = c("aforyzm", "album", "antologia", "autobiografia", "dziennik", "esej", "felieton", "inne", "kazanie", "list", "miniatura prozą", "opowiadanie", "poemat", "powieść", "proza", "proza poetycka", "reportaż", "rozmyślanie religijne", "rysunek, obraz", "scenariusz", "szkic", "tekst biblijny", "tekst dramatyczny", "dramat", "wiersz", "wspomnienia", "wypowiedź", "pamiętniki", "poezja", "literatura podróżnicza", "satyra", "piosenka"))

#dramat, pamiętniki, poezja, literatura podróżnicza, satyra, piosenka
gatunki_bn <- data %>%
  select(ZA_UWAGI,X655,X650)

gatunki_bn <- sqldf("select *
                    from gatunki_bn
                    left join gatunki_pbl on lower(gatunki_bn.X655) like '%'||gatunki_pbl.gatunek||'%'")
gatunki_bn <- sqldf("select *
                      from gatunki_bn
                      left join gatunki_pbl on lower(gatunki_bn.X650) like '%'||gatunki_pbl.gatunek||'%'")
colnames(gatunki_bn)[5] <- "gatunek2"
gatunki_bn <- gatunki_bn %>%
  mutate(gatunek = ifelse(is.na(gatunek)&!is.na(gatunek2),as.character(gatunek2),as.character(gatunek))) %>%
  filter(!is.na(gatunek)) %>%
  select(ZA_UWAGI,gatunek) %>%
  mutate(gatunek = ifelse(gatunek=="dramat","tekst dramatyczny",
                          ifelse(gatunek=="pamiętniki","wspomnienia",
                                 ifelse(gatunek=="poezja","wiersz",
                                        ifelse(gatunek=="literatura podróżnicza","reportaż",
                                               ifelse(gatunek=="piosenka","wiersz",as.character(gatunek))))))) %>%
  group_by(ZA_UWAGI) %>%
  mutate(gatunek = paste(gatunek,collapse = ", ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(gatunek = gsub("(^.)","\\U\\1",perl = TRUE, gatunek))
#połączenie tytułu z gatunkiem
za_tytul <- marc_field_245 %>%
  left_join(.,gatunki_bn,by="ZA_UWAGI") %>% 
  mutate(gatunek = paste("[",gatunek,"]",sep = ""),
         gatunek = ifelse(gatunek=="[NA]",NA,as.character(gatunek))) %>% 
  unite("ZA_TYTUL", ZA_TYTUL:gatunek, sep = ". ",na.rm=TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\. \\.",". "),
         ZA_TYTUL = str_replace(ZA_TYTUL,"(\\!)(\\.)|(\\?)(\\.)","\\1"))
#4: tytuł oryginału
#pole 246
marc_field_246 <- data %>%
  select(ZA_UWAGI,X246)%>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"~"),
         X246=str_replace_all(X246,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X246",sep = "~",direction = "long") %>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"^\\|")) %>%
  mutate(indicator = str_replace_all(X246,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X246,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_246)[1]))
colnames(empty_table) <-subfield_list
marc_field_246<-cbind(marc_field_246,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_246$X246 <- str_replace(marc_field_246$X246,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_246[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_246$X246),str_replace_all(gsub(string,"\\3",marc_field_246$X246),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
if("$n" %in% colnames(marc_field_245)) {
marc_field_246 <- marc_field_246 %>%
 filter(grepl("oryg",X246)) %>%
 select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
 group_by(ZA_UWAGI) %>%
 mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
        `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = ""),
        `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = ""),
        `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = "")) %>%
 ungroup() %>%
 unique() %>%
 unite("X246",`$a`:`$p`,sep = " ",na.rm = TRUE) %>%
 mutate(X246 = str_replace_all(X246," +"," "),
        X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
        X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                        ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
        X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                        ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
        X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
        X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
 select(ZA_UWAGI, X246)
} else {
  marc_field_246 <- marc_field_246 %>%
 filter(grepl("oryg",X246)) %>%
 select(ZA_UWAGI,`$a`,`$b`) %>%
 group_by(ZA_UWAGI) %>%
 mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
        `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = "")) %>%
 ungroup() %>%
 unique() %>%
 unite("X246",`$a`:`$b`,sep = " ",na.rm = TRUE) %>%
 mutate(X246 = str_replace_all(X246," +"," "),
        X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
        X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                        ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
        X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                          ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                 ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                        ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
        X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
        X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
 select(ZA_UWAGI, X246)
}

#pole 500
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"~"),
         X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  filter(grepl("oryg\\.\\:",X500)) %>%
  mutate(X500 = str_remove(`$a`,"^Tyt\\. oryg\\.: |^Tyt\\, oryg\\.: |^.*?tyt\\. oryg\\.: "),
         X500 = str_remove(X500, "\\s+\\/\\s{0,}$"),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X500),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X500),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X500),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",X500),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,X500),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X500),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X500),as.character(X500))))),
         X500 = str_replace_all(X500,"\\.{3} \\.{3}","... "),
         X500 = str_remove(X500, "\\.$"),
         X500 = str_remove(X500,"(,{0,1} {0,1})\\d{4}.*$|(, t|. T)yt. oryg. cyklu:")) %>%
  select(ZA_UWAGI,X500)
#tytuł oryginału
za_tytul_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_246,by="ZA_UWAGI") %>%
  left_join(.,marc_field_500,by="ZA_UWAGI") %>%
  mutate(X500 = ifelse(is.na(X500),NA,
                       ifelse(grepl("oryg",X500),NA,as.character(X500))),
         X500 = ifelse(!is.na(X500)&grepl("\\. - ",X500),str_replace(X500,"(.*?)(\\. - .*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Na książce pseud",X500),str_replace(X500,"(.*?)(\\. Na książce pseud.*$)","\\1"),as.character(X500)),
         X500 = ifelse(!is.na(X500)&grepl("Przekł\\. wg",X500),str_replace(X500,"(.*?)(\\. Przekł\\. wg.*$)","\\1"),as.character(X500)),
         ZA_TYTUL_ORYGINALU = ifelse(is.na(X246)&is.na(X500),NA,
                                     ifelse(!is.na(X500),as.character(X500),as.character(X246))),
         ZA_TYTUL_ORYGINALU = str_remove_all(ZA_TYTUL_ORYGINALU,'\\"')) %>%
  select(ZA_UWAGI,ZA_TYTUL_ORYGINALU)

#5: język oryginału
marc_field_041 <- data %>%
  select(ZA_UWAGI,X041)%>%
  filter(X041!="") %>%
  mutate(X041=str_replace_all(X041,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X041",sep = "~",direction = "long") %>%
  filter(X041!="") %>%
  mutate(X041=str_remove_all(X041,"^\\|")) %>%
  mutate(indicator = str_replace_all(X041,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X041,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_041)[1]))
colnames(empty_table) <-subfield_list
marc_field_041<-cbind(marc_field_041,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_041$X041 <- str_replace(marc_field_041$X041,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_041[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_041$X041),str_replace_all(gsub(string,"\\3",marc_field_041$X041),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
za_jezyk_oryginalu <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,marc_field_041 %>% select(ZA_UWAGI,ZA_JEZYK_ORYGINALU = `$a`),by="ZA_UWAGI") %>%
  mutate(ZA_JEZYK_ORYGINALU = str_replace_all(ZA_JEZYK_ORYGINALU,"\\$a",",")) %>%
  unique()

#6: współtwórcy
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress: 1 on 8  Progress: 2 on 8  Progress: 3 on 8  Progress: 4 on 8  Progress: 5 on 8  Progress: 6 on 8  Progress: 7 on 8  Progress: 8 on 8  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress: 1 on 8  Progress: 2 on 8  Progress: 3 on 8  Progress: 4 on 8  Progress: 5 on 8  Progress: 6 on 8  Progress: 7 on 8  Progress: 8 on 8  
BN_wspoltworca <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         ws_prosty = str_replace_all(str_to_lower(osoba), "\\W", ""),
         fu_prosta = str_replace_all(str_to_lower(funkcja), "\\W", "")) %>%
  left_join(.,PBL_wspoltworcy %>% select(OS_OSOBA_ID,OS_LICZBA_ZAPISOW,nazwa_prosta),by=c("ws_prosty"="nazwa_prosta")) %>%
  arrange(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,-OS_LICZBA_ZAPISOW)
BN_wspoltworca$id_grupy <- cumsum(!duplicated(BN_wspoltworca[1:2]))
BN_wspoltworca <- BN_wspoltworca[!duplicated(BN_wspoltworca$id_grupy),] %>%
  left_join(.,PBL_funkcje,by=c("fu_prosta"="nazwa")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL",NA,as.character(fo_symbol))) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja)

#tutaj przeszukać X245 i znaleźć błędy współtwórców
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`)

BN_wspoltworca <- BN_wspoltworca %>%
  left_join(.,marc_field_245,by="ZA_UWAGI")

x <- 1:lengths(BN_wspoltworca[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  BN_wspoltworca$czy_nazwisko[i] <- str_detect(BN_wspoltworca$X245c[i],BN_wspoltworca$OS_NAZWISKO[i])
  BN_wspoltworca$czy_imie[i] <- grepl(BN_wspoltworca$OS_IMIE[i],BN_wspoltworca$X245c[i])
}
Progress:   1 on 755  Progress:   2 on 755  Progress:   3 on 755  Progress:   4 on 755  Progress:   5 on 755  Progress:   6 on 755  Progress:   7 on 755  Progress:   8 on 755  Progress:   9 on 755  Progress:  10 on 755  Progress:  11 on 755  Progress:  12 on 755  Progress:  13 on 755  Progress:  14 on 755  Progress:  15 on 755  Progress:  16 on 755  Progress:  17 on 755  Progress:  18 on 755  Progress:  19 on 755  Progress:  20 on 755  Progress:  21 on 755  Progress:  22 on 755  Progress:  23 on 755  Progress:  24 on 755  Progress:  25 on 755  Progress:  26 on 755  Progress:  27 on 755  Progress:  28 on 755  Progress:  29 on 755  Progress:  30 on 755  Progress:  31 on 755  Progress:  32 on 755  Progress:  33 on 755  Progress:  34 on 755  Progress:  35 on 755  Progress:  36 on 755  Progress:  37 on 755  Progress:  38 on 755  Progress:  39 on 755  Progress:  40 on 755  Progress:  41 on 755  Progress:  42 on 755  Progress:  43 on 755  Progress:  44 on 755  Progress:  45 on 755  Progress:  46 on 755  Progress:  47 on 755  Progress:  48 on 755  Progress:  49 on 755  Progress:  50 on 755  Progress:  51 on 755  Progress:  52 on 755  Progress:  53 on 755  Progress:  54 on 755  Progress:  55 on 755  Progress:  56 on 755  Progress:  57 on 755  Progress:  58 on 755  Progress:  59 on 755  Progress:  60 on 755  Progress:  61 on 755  Progress:  62 on 755  Progress:  63 on 755  Progress:  64 on 755  Progress:  65 on 755  Progress:  66 on 755  Progress:  67 on 755  Progress:  68 on 755  Progress:  69 on 755  Progress:  70 on 755  Progress:  71 on 755  Progress:  72 on 755  Progress:  73 on 755  Progress:  74 on 755  Progress:  75 on 755  Progress:  76 on 755  Progress:  77 on 755  Progress:  78 on 755  Progress:  79 on 755  Progress:  80 on 755  Progress:  81 on 755  Progress:  82 on 755  Progress:  83 on 755  Progress:  84 on 755  Progress:  85 on 755  Progress:  86 on 755  Progress:  87 on 755  Progress:  88 on 755  Progress:  89 on 755  Progress:  90 on 755  Progress:  91 on 755  Progress:  92 on 755  Progress:  93 on 755  Progress:  94 on 755  Progress:  95 on 755  Progress:  96 on 755  Progress:  97 on 755  Progress:  98 on 755  Progress:  99 on 755  Progress: 100 on 755  Progress: 101 on 755  Progress: 102 on 755  Progress: 103 on 755  Progress: 104 on 755  Progress: 105 on 755  Progress: 106 on 755  Progress: 107 on 755  Progress: 108 on 755  Progress: 109 on 755  Progress: 110 on 755  Progress: 111 on 755  Progress: 112 on 755  Progress: 113 on 755  Progress: 114 on 755  Progress: 115 on 755  Progress: 116 on 755  Progress: 117 on 755  Progress: 118 on 755  Progress: 119 on 755  Progress: 120 on 755  Progress: 121 on 755  Progress: 122 on 755  Progress: 123 on 755  Progress: 124 on 755  Progress: 125 on 755  Progress: 126 on 755  Progress: 127 on 755  Progress: 128 on 755  Progress: 129 on 755  Progress: 130 on 755  Progress: 131 on 755  Progress: 132 on 755  Progress: 133 on 755  Progress: 134 on 755  Progress: 135 on 755  Progress: 136 on 755  Progress: 137 on 755  Progress: 138 on 755  Progress: 139 on 755  Progress: 140 on 755  Progress: 141 on 755  Progress: 142 on 755  Progress: 143 on 755  Progress: 144 on 755  Progress: 145 on 755  Progress: 146 on 755  Progress: 147 on 755  Progress: 148 on 755  Progress: 149 on 755  Progress: 150 on 755  Progress: 151 on 755  Progress: 152 on 755  Progress: 153 on 755  Progress: 154 on 755  Progress: 155 on 755  Progress: 156 on 755  Progress: 157 on 755  Progress: 158 on 755  Progress: 159 on 755  Progress: 160 on 755  Progress: 161 on 755  Progress: 162 on 755  Progress: 163 on 755  Progress: 164 on 755  Progress: 165 on 755  Progress: 166 on 755  Progress: 167 on 755  Progress: 168 on 755  Progress: 169 on 755  Progress: 170 on 755  Progress: 171 on 755  Progress: 172 on 755  Progress: 173 on 755  Progress: 174 on 755  Progress: 175 on 755  Progress: 176 on 755  Progress: 177 on 755  Progress: 178 on 755  Progress: 179 on 755  Progress: 180 on 755  Progress: 181 on 755  Progress: 182 on 755  Progress: 183 on 755  Progress: 184 on 755  Progress: 185 on 755  Progress: 186 on 755  Progress: 187 on 755  Progress: 188 on 755  Progress: 189 on 755  Progress: 190 on 755  Progress: 191 on 755  Progress: 192 on 755  Progress: 193 on 755  Progress: 194 on 755  Progress: 195 on 755  Progress: 196 on 755  Progress: 197 on 755  Progress: 198 on 755  Progress: 199 on 755  Progress: 200 on 755  Progress: 201 on 755  Progress: 202 on 755  Progress: 203 on 755  Progress: 204 on 755  Progress: 205 on 755  Progress: 206 on 755  Progress: 207 on 755  Progress: 208 on 755  Progress: 209 on 755  Progress: 210 on 755  Progress: 211 on 755  Progress: 212 on 755  Progress: 213 on 755  Progress: 214 on 755  Progress: 215 on 755  Progress: 216 on 755  Progress: 217 on 755  Progress: 218 on 755  Progress: 219 on 755  Progress: 220 on 755  Progress: 221 on 755  Progress: 222 on 755  Progress: 223 on 755  Progress: 224 on 755  Progress: 225 on 755  Progress: 226 on 755  Progress: 227 on 755  Progress: 228 on 755  Progress: 229 on 755  Progress: 230 on 755  Progress: 231 on 755  Progress: 232 on 755  Progress: 233 on 755  Progress: 234 on 755  Progress: 235 on 755  Progress: 236 on 755  Progress: 237 on 755  Progress: 238 on 755  Progress: 239 on 755  Progress: 240 on 755  Progress: 241 on 755  Progress: 242 on 755  Progress: 243 on 755  Progress: 244 on 755  Progress: 245 on 755  Progress: 246 on 755  Progress: 247 on 755  Progress: 248 on 755  Progress: 249 on 755  Progress: 250 on 755  Progress: 251 on 755  Progress: 252 on 755  Progress: 253 on 755  Progress: 254 on 755  Progress: 255 on 755  Progress: 256 on 755  Progress: 257 on 755  Progress: 258 on 755  Progress: 259 on 755  Progress: 260 on 755  Progress: 261 on 755  Progress: 262 on 755  Progress: 263 on 755  Progress: 264 on 755  Progress: 265 on 755  Progress: 266 on 755  Progress: 267 on 755  Progress: 268 on 755  Progress: 269 on 755  Progress: 270 on 755  Progress: 271 on 755  Progress: 272 on 755  Progress: 273 on 755  Progress: 274 on 755  Progress: 275 on 755  Progress: 276 on 755  Progress: 277 on 755  Progress: 278 on 755  Progress: 279 on 755  Progress: 280 on 755  Progress: 281 on 755  Progress: 282 on 755  Progress: 283 on 755  Progress: 284 on 755  Progress: 285 on 755  Progress: 286 on 755  Progress: 287 on 755  Progress: 288 on 755  Progress: 289 on 755  Progress: 290 on 755  Progress: 291 on 755  Progress: 292 on 755  Progress: 293 on 755  Progress: 294 on 755  Progress: 295 on 755  Progress: 296 on 755  Progress: 297 on 755  Progress: 298 on 755  Progress: 299 on 755  Progress: 300 on 755  Progress: 301 on 755  Progress: 302 on 755  Progress: 303 on 755  Progress: 304 on 755  Progress: 305 on 755  Progress: 306 on 755  Progress: 307 on 755  Progress: 308 on 755  Progress: 309 on 755  Progress: 310 on 755  Progress: 311 on 755  Progress: 312 on 755  Progress: 313 on 755  Progress: 314 on 755  Progress: 315 on 755  Progress: 316 on 755  Progress: 317 on 755  Progress: 318 on 755  Progress: 319 on 755  Progress: 320 on 755  Progress: 321 on 755  Progress: 322 on 755  Progress: 323 on 755  Progress: 324 on 755  Progress: 325 on 755  Progress: 326 on 755  Progress: 327 on 755  Progress: 328 on 755  Progress: 329 on 755  Progress: 330 on 755  Progress: 331 on 755  Progress: 332 on 755  Progress: 333 on 755  Progress: 334 on 755  Progress: 335 on 755  Progress: 336 on 755  Progress: 337 on 755  Progress: 338 on 755  Progress: 339 on 755  Progress: 340 on 755  Progress: 341 on 755  Progress: 342 on 755  Progress: 343 on 755  Progress: 344 on 755  Progress: 345 on 755  Progress: 346 on 755  Progress: 347 on 755  Progress: 348 on 755  Progress: 349 on 755  Progress: 350 on 755  Progress: 351 on 755  Progress: 352 on 755  Progress: 353 on 755  Progress: 354 on 755  Progress: 355 on 755  Progress: 356 on 755  Progress: 357 on 755  Progress: 358 on 755  Progress: 359 on 755  Progress: 360 on 755  Progress: 361 on 755  Progress: 362 on 755  Progress: 363 on 755  Progress: 364 on 755  Progress: 365 on 755  Progress: 366 on 755  Progress: 367 on 755  Progress: 368 on 755  Progress: 369 on 755  Progress: 370 on 755  Progress: 371 on 755  Progress: 372 on 755  Progress: 373 on 755  Progress: 374 on 755  Progress: 375 on 755  Progress: 376 on 755  Progress: 377 on 755  Progress: 378 on 755  Progress: 379 on 755  Progress: 380 on 755  Progress: 381 on 755  Progress: 382 on 755  Progress: 383 on 755  Progress: 384 on 755  Progress: 385 on 755  Progress: 386 on 755  Progress: 387 on 755  Progress: 388 on 755  Progress: 389 on 755  Progress: 390 on 755  Progress: 391 on 755  Progress: 392 on 755  Progress: 393 on 755  Progress: 394 on 755  Progress: 395 on 755  Progress: 396 on 755  Progress: 397 on 755  Progress: 398 on 755  Progress: 399 on 755  Progress: 400 on 755  Progress: 401 on 755  Progress: 402 on 755  Progress: 403 on 755  Progress: 404 on 755  Progress: 405 on 755  Progress: 406 on 755  Progress: 407 on 755  Progress: 408 on 755  Progress: 409 on 755  Progress: 410 on 755  Progress: 411 on 755  Progress: 412 on 755  Progress: 413 on 755  Progress: 414 on 755  Progress: 415 on 755  Progress: 416 on 755  Progress: 417 on 755  Progress: 418 on 755  Progress: 419 on 755  Progress: 420 on 755  Progress: 421 on 755  Progress: 422 on 755  Progress: 423 on 755  Progress: 424 on 755  Progress: 425 on 755  Progress: 426 on 755  Progress: 427 on 755  Progress: 428 on 755  Progress: 429 on 755  Progress: 430 on 755  Progress: 431 on 755  Progress: 432 on 755  Progress: 433 on 755  Progress: 434 on 755  Progress: 435 on 755  Progress: 436 on 755  Progress: 437 on 755  Progress: 438 on 755  Progress: 439 on 755  Progress: 440 on 755  Progress: 441 on 755  Progress: 442 on 755  Progress: 443 on 755  Progress: 444 on 755  Progress: 445 on 755  Progress: 446 on 755  Progress: 447 on 755  Progress: 448 on 755  Progress: 449 on 755  Progress: 450 on 755  Progress: 451 on 755  Progress: 452 on 755  Progress: 453 on 755  Progress: 454 on 755  Progress: 455 on 755  Progress: 456 on 755  Progress: 457 on 755  Progress: 458 on 755  Progress: 459 on 755  Progress: 460 on 755  Progress: 461 on 755  Progress: 462 on 755  Progress: 463 on 755  Progress: 464 on 755  Progress: 465 on 755  Progress: 466 on 755  Progress: 467 on 755  Progress: 468 on 755  Progress: 469 on 755  Progress: 470 on 755  Progress: 471 on 755  Progress: 472 on 755  Progress: 473 on 755  Progress: 474 on 755  Progress: 475 on 755  Progress: 476 on 755  Progress: 477 on 755  Progress: 478 on 755  Progress: 479 on 755  Progress: 480 on 755  Progress: 481 on 755  Progress: 482 on 755  Progress: 483 on 755  Progress: 484 on 755  Progress: 485 on 755  Progress: 486 on 755  Progress: 487 on 755  Progress: 488 on 755  Progress: 489 on 755  Progress: 490 on 755  Progress: 491 on 755  Progress: 492 on 755  Progress: 493 on 755  Progress: 494 on 755  Progress: 495 on 755  Progress: 496 on 755  Progress: 497 on 755  Progress: 498 on 755  Progress: 499 on 755  Progress: 500 on 755  Progress: 501 on 755  Progress: 502 on 755  Progress: 503 on 755  Progress: 504 on 755  Progress: 505 on 755  Progress: 506 on 755  Progress: 507 on 755  Progress: 508 on 755  Progress: 509 on 755  Progress: 510 on 755  Progress: 511 on 755  Progress: 512 on 755  Progress: 513 on 755  Progress: 514 on 755  Progress: 515 on 755  Progress: 516 on 755  Progress: 517 on 755  Progress: 518 on 755  Progress: 519 on 755  Progress: 520 on 755  Progress: 521 on 755  Progress: 522 on 755  Progress: 523 on 755  Progress: 524 on 755  Progress: 525 on 755  Progress: 526 on 755  Progress: 527 on 755  Progress: 528 on 755  Progress: 529 on 755  Progress: 530 on 755  Progress: 531 on 755  Progress: 532 on 755  Progress: 533 on 755  Progress: 534 on 755  Progress: 535 on 755  Progress: 536 on 755  Progress: 537 on 755  Progress: 538 on 755  Progress: 539 on 755  Progress: 540 on 755  Progress: 541 on 755  Progress: 542 on 755  Progress: 543 on 755  Progress: 544 on 755  Progress: 545 on 755  Progress: 546 on 755  Progress: 547 on 755  Progress: 548 on 755  Progress: 549 on 755  Progress: 550 on 755  Progress: 551 on 755  Progress: 552 on 755  Progress: 553 on 755  Progress: 554 on 755  Progress: 555 on 755  Progress: 556 on 755  Progress: 557 on 755  Progress: 558 on 755  Progress: 559 on 755  Progress: 560 on 755  Progress: 561 on 755  Progress: 562 on 755  Progress: 563 on 755  Progress: 564 on 755  Progress: 565 on 755  Progress: 566 on 755  Progress: 567 on 755  Progress: 568 on 755  Progress: 569 on 755  Progress: 570 on 755  Progress: 571 on 755  Progress: 572 on 755  Progress: 573 on 755  Progress: 574 on 755  Progress: 575 on 755  Progress: 576 on 755  Progress: 577 on 755  Progress: 578 on 755  Progress: 579 on 755  Progress: 580 on 755  Progress: 581 on 755  Progress: 582 on 755  Progress: 583 on 755  Progress: 584 on 755  Progress: 585 on 755  Progress: 586 on 755  Progress: 587 on 755  Progress: 588 on 755  Progress: 589 on 755  Progress: 590 on 755  Progress: 591 on 755  Progress: 592 on 755  Progress: 593 on 755  Progress: 594 on 755  Progress: 595 on 755  Progress: 596 on 755  Progress: 597 on 755  Progress: 598 on 755  Progress: 599 on 755  Progress: 600 on 755  Progress: 601 on 755  Progress: 602 on 755  Progress: 603 on 755  Progress: 604 on 755  Progress: 605 on 755  Progress: 606 on 755  Progress: 607 on 755  Progress: 608 on 755  Progress: 609 on 755  Progress: 610 on 755  Progress: 611 on 755  Progress: 612 on 755  Progress: 613 on 755  Progress: 614 on 755  Progress: 615 on 755  Progress: 616 on 755  Progress: 617 on 755  Progress: 618 on 755  Progress: 619 on 755  Progress: 620 on 755  Progress: 621 on 755  Progress: 622 on 755  Progress: 623 on 755  Progress: 624 on 755  Progress: 625 on 755  Progress: 626 on 755  Progress: 627 on 755  Progress: 628 on 755  Progress: 629 on 755  Progress: 630 on 755  Progress: 631 on 755  Progress: 632 on 755  Progress: 633 on 755  Progress: 634 on 755  Progress: 635 on 755  Progress: 636 on 755  Progress: 637 on 755  Progress: 638 on 755  Progress: 639 on 755  Progress: 640 on 755  Progress: 641 on 755  Progress: 642 on 755  Progress: 643 on 755  Progress: 644 on 755  Progress: 645 on 755  Progress: 646 on 755  Progress: 647 on 755  Progress: 648 on 755  Progress: 649 on 755  Progress: 650 on 755  Progress: 651 on 755  Progress: 652 on 755  Progress: 653 on 755  Progress: 654 on 755  Progress: 655 on 755  Progress: 656 on 755  Progress: 657 on 755  Progress: 658 on 755  Progress: 659 on 755  Progress: 660 on 755  Progress: 661 on 755  Progress: 662 on 755  Progress: 663 on 755  Progress: 664 on 755  Progress: 665 on 755  Progress: 666 on 755  Progress: 667 on 755  Progress: 668 on 755  Progress: 669 on 755  Progress: 670 on 755  Progress: 671 on 755  Progress: 672 on 755  Progress: 673 on 755  Progress: 674 on 755  Progress: 675 on 755  Progress: 676 on 755  Progress: 677 on 755  Progress: 678 on 755  Progress: 679 on 755  Progress: 680 on 755  Progress: 681 on 755  Progress: 682 on 755  Progress: 683 on 755  Progress: 684 on 755  Progress: 685 on 755  Progress: 686 on 755  Progress: 687 on 755  Progress: 688 on 755  Progress: 689 on 755  Progress: 690 on 755  Progress: 691 on 755  Progress: 692 on 755  Progress: 693 on 755  Progress: 694 on 755  Progress: 695 on 755  Progress: 696 on 755  Progress: 697 on 755  Progress: 698 on 755  Progress: 699 on 755  Progress: 700 on 755  Progress: 701 on 755  Progress: 702 on 755  Progress: 703 on 755  Progress: 704 on 755  Progress: 705 on 755  Progress: 706 on 755  Progress: 707 on 755  Progress: 708 on 755  Progress: 709 on 755  Progress: 710 on 755  Progress: 711 on 755  Progress: 712 on 755  Progress: 713 on 755  Progress: 714 on 755  Progress: 715 on 755  Progress: 716 on 755  Progress: 717 on 755  Progress: 718 on 755  Progress: 719 on 755  Progress: 720 on 755  Progress: 721 on 755  Progress: 722 on 755  Progress: 723 on 755  Progress: 724 on 755  Progress: 725 on 755  Progress: 726 on 755  Progress: 727 on 755  Progress: 728 on 755  Progress: 729 on 755  Progress: 730 on 755  Progress: 731 on 755  Progress: 732 on 755  Progress: 733 on 755  Progress: 734 on 755  Progress: 735 on 755  Progress: 736 on 755  Progress: 737 on 755  Progress: 738 on 755  Progress: 739 on 755  Progress: 740 on 755  Progress: 741 on 755  Progress: 742 on 755  Progress: 743 on 755  Progress: 744 on 755  Progress: 745 on 755  Progress: 746 on 755  Progress: 747 on 755  Progress: 748 on 755  Progress: 749 on 755  Progress: 750 on 755  Progress: 751 on 755  Progress: 752 on 755  Progress: 753 on 755  Progress: 754 on 755  Progress: 755 on 755  
BN_wspoltworca <- BN_wspoltworca %>%
  mutate(ZA_ADNOTACJE = ifelse(czy_nazwisko==FALSE|czy_imie==FALSE,paste("UWAGA! Konflikt w danych osobowych w polach 700 i 245. Porównaj pola współtórców w formularzu z polem BN: ",X245c,sep = ""),NA)) %>%
  select(ZA_UWAGI,OS_NAZWISKO,OS_IMIE,OS_OSOBA_ID,fo_symbol,fo_nazwa,funkcja,ZA_ADNOTACJE)

#7: opis współtwórców
opis_wspoltworcow <- BN_wspoltworca %>%
  select(ZA_UWAGI,funkcja,OS_IMIE,OS_NAZWISKO) %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  filter(!is.na(OS_NAZWISKO)|(is.na(OS_NAZWISKO)&grepl("et al\\.",X245c))) %>%
  mutate(jest_et_al = grepl("et al\\.",X245c),
         OS_IMIE = ifelse(OS_IMIE=="*","",as.character(OS_IMIE)),
         opis = ifelse(!is.na(OS_NAZWISKO),paste(funkcja,OS_IMIE, OS_NAZWISKO, sep = " "),""),
         opis = str_replace_all(opis," +"," "),
         opis = ifelse(opis==" ","",as.character(opis))) %>%
  select(ZA_UWAGI,opis,jest_et_al) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ", "),
         jest_et_al = paste(unique(jest_et_al),sep = "")) %>%
  ungroup() %>%
  unique() %>%
  mutate(opis = ifelse(jest_et_al==TRUE&opis=="","et al.",
                       ifelse(jest_et_al,paste(opis,"et al.",sep = " "),opis))) %>%
  select(ZA_UWAGI,opis)

#700
marc_field_700 <- data %>%
  select(ZA_UWAGI,X700)%>%
  filter(X700!="") %>%
  mutate(X700=str_replace_all(X700,"(..\\$a)","|\\1"),
         X700=str_replace_all(X700,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X700",sep = "~",direction = "long") %>%
  filter(X700!="") %>%
  mutate(X700=str_remove_all(X700,"^\\|")) %>%
  mutate(indicator = str_replace_all(X700,"(^.*?)(\\$.*)","\\1")) %>%
  filter(X700!="")
subfield_list<- str_extract_all(data$X700,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_700)[1]))
colnames(empty_table) <-subfield_list
marc_field_700<-cbind(marc_field_700,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_700$X700 <- str_replace(marc_field_700$X700,subfield_list_char[i],"|\\1")
}
Progress: 1 on 8  Progress: 2 on 8  Progress: 3 on 8  Progress: 4 on 8  Progress: 5 on 8  Progress: 6 on 8  Progress: 7 on 8  Progress: 8 on 8  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_700[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_700$X700),str_replace_all(gsub(string,"\\3",marc_field_700$X700),"\\${2}.", "~"),NA)
}
Progress: 1 on 8  Progress: 2 on 8  Progress: 3 on 8  Progress: 4 on 8  Progress: 5 on 8  Progress: 6 on 8  Progress: 7 on 8  Progress: 8 on 8  
marc_field_700 <- marc_field_700 %>%
  select(ZA_UWAGI,osoba = `$a`,funkcja = `$e`) %>%
  filter(!is.na(funkcja)) %>%
  mutate(osoba = str_remove(osoba,"(?<=[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(\\.$)"),
         OS_NAZWISKO = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\1"),as.character(osoba)),
         OS_IMIE = ifelse(grepl(",",osoba),str_replace_all(osoba,"(.*?)(, )(.*)","\\3"),"*"),
         funkcja_duza = str_to_lower(funkcja),
         opis = paste(funkcja_duza,OS_IMIE,OS_NAZWISKO, sep = " "),
         opis_duzy = paste(funkcja,OS_IMIE,OS_NAZWISKO, sep = " ")) %>%
  select(ZA_UWAGI,opis,opis_duzy) %>%
  group_by(ZA_UWAGI) %>%
  mutate(opis = paste(opis,collapse = ". "),
         opis_duzy = paste(opis_duzy,collapse = ". ")) %>%
  ungroup() %>%
  unique()

#opis współtwórców ze strefy odpowiedzialności 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$c`)

#porównanie opisu współtwórców z 245 i 700
wspoltworcy <- marc_field_700 %>%
  full_join(.,marc_field_245,by="ZA_UWAGI") %>%
  cSplit(.,"$c",sep = " ; ",direction = "long") %>%
  #ograniczanie osób ze strefy odpowiedzialności
  mutate(czy_mala = grepl(" [a-zęóąśłżźćń]|^[a-zęóąśłżźćń]|\\[[a-zęóąśłżźćń]",`$c`,ignore.case = FALSE)) %>%
  filter(czy_mala==TRUE) %>%
  select(-czy_mala) %>%
  #mutate(`$c` = gsub("^(\\[){0,1}([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])","\\1\\U\\2",perl = TRUE,`$c`)) %>%
  group_by(ZA_UWAGI) %>%
  mutate(X245 = paste(`$c`, collapse = ", ")) %>%
  select(-`$c`) %>%
  unique() %>%
  mutate(order_pbl = as.character(str_extract_all(opis,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_pbl = str_replace_all(order_pbl,"(.*?\")(.)(\".*?.)", "\\2"),
         order_bn = as.character(str_extract_all(X245,"(?<=^| |\\[|-)([A-ZAÁÀÂÃÄĂĀÅĄÆEÉÈÊËĚĒĖĘIÍÌÎÏĪĮIOÓÒÔÕÖŐØŒUÚÙÛÜŰŪůYÝCĆČçDĎĐĐGĢĞKĶLŁĻNŃÑŇŅŊRŘSŚŠŞSßTŤŦÞŢ8ZŻŹŽa-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])")),
         order_bn = str_replace_all(order_bn,"(.*?\")(.)(\".*?.)", "\\2"),
         X245 = str_remove(X245, "\\.$"),
         X245 = str_remove(X245, "\\["),
         X245 = str_remove(X245, "\\]"),
         order_pbl = str_remove_all(order_pbl, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         order_bn = str_remove_all(order_bn, "[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]"),
         to_samo = order_pbl==order_bn,
         X245 = gsub("(^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž])(.*)","\\U\\1\\E\\2",perl = TRUE, X245)) %>%
  left_join(.,za_jezyk_oryginalu,by="ZA_UWAGI") %>%
  mutate(czy_pl = grepl("pol",ZA_JEZYK_ORYGINALU)|is.na(ZA_JEZYK_ORYGINALU),
         decyzja = ifelse(to_samo==FALSE|czy_pl==FALSE,FALSE,TRUE))

za_opis_wspoltworcow <- wspoltworcy %>%
  mutate(za_opis_wspoltworcow = ifelse(decyzja==TRUE,as.character(X245),paste(X245,opis_duzy,sep = "#"))) %>%
  select(ZA_UWAGI,opis_duzy,za_opis_wspoltworcow) %>%
  cSplit(.,"za_opis_wspoltworcow",sep = "#",direction = "wide") %>%
  mutate(za_opis_wspoltworcow_2 = ifelse(is.na(za_opis_wspoltworcow_2),'',as.character(za_opis_wspoltworcow_2)),
         to_samo = za_opis_wspoltworcow_1==za_opis_wspoltworcow_2) %>%
  filter(to_samo==FALSE) %>%
  group_by(ZA_UWAGI) %>%
  mutate(za_opis_wspoltworcow = paste(za_opis_wspoltworcow_1,za_opis_wspoltworcow_2,sep = "#"),
         za_opis_wspoltworcow = str_remove_all(za_opis_wspoltworcow,"\\#$")) %>%
  select(ZA_UWAGI,za_opis_wspoltworcow)

opis_wspoltworcow <- opis_wspoltworcow %>%
  filter(ZA_UWAGI %notin% za_opis_wspoltworcow$ZA_UWAGI) %>%
  filter(!is.na(opis)) %>%
  rename(za_opis_wspoltworcow = opis)

za_opis_wspoltworcow <- za_opis_wspoltworcow %>%
  bind_rows(.,opis_wspoltworcow) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#8 wydanie
marc_field_250 <- data %>%
  select(ZA_UWAGI,X250)%>%
  filter(X250!="") %>%
  mutate(X250=str_replace_all(X250,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X250",sep = "~",direction = "long") %>%
  filter(X250!="") %>%
  mutate(X250=str_remove_all(X250,"^\\|")) %>%
  mutate(indicator = str_replace_all(X250,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X250,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_250)[1]))
colnames(empty_table) <-subfield_list
marc_field_250<-cbind(marc_field_250,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_250$X250 <- str_replace(marc_field_250$X250,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_250[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_250$X250),str_replace_all(gsub(string,"\\3",marc_field_250$X250),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
za_wydanie <- marc_field_250 %>%
  select(ZA_UWAGI, wydanie = `$a`) %>%
  mutate(wydanie = str_remove(wydanie," \\/$")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#9: instytucja sprawcza
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 5  Progress: 2 on 5  Progress: 3 on 5  Progress: 4 on 5  Progress: 5 on 5  
za_instytucja <- marc_field_245 %>%
  select(ZA_UWAGI,X245c=`$c`) %>%
  filter(!is.na(X245c)) %>%
  mutate(instytucja = ifelse(grepl("\\;",X245c),str_replace_all(X245c, "(.*?)(\\;(?!.*\\;))( )+(.*?$)","\\4"),"")) %>%
  left_join(.,BN_wspoltworca,by="ZA_UWAGI")

x <- 1:lengths(za_instytucja[1])
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  za_instytucja$czy_nazwisko[i] <- grepl(za_instytucja$OS_NAZWISKO[i],za_instytucja$X245c[i])
  za_instytucja$czy_imie[i] <- grepl(za_instytucja$OS_IMIE[i],za_instytucja$X245c[i])
}
Progress:   1 on 794  Progress:   2 on 794  Progress:   3 on 794  Progress:   4 on 794  Progress:   5 on 794  Progress:   6 on 794  Progress:   7 on 794  Progress:   8 on 794  Progress:   9 on 794  Progress:  10 on 794  Progress:  11 on 794  Progress:  12 on 794  Progress:  13 on 794  Progress:  14 on 794  Progress:  15 on 794  Progress:  16 on 794  Progress:  17 on 794  Progress:  18 on 794  Progress:  19 on 794  Progress:  20 on 794  Progress:  21 on 794  Progress:  22 on 794  Progress:  23 on 794  Progress:  24 on 794  Progress:  25 on 794  Progress:  26 on 794  Progress:  27 on 794  Progress:  28 on 794  Progress:  29 on 794  Progress:  30 on 794  Progress:  31 on 794  Progress:  32 on 794  Progress:  33 on 794  Progress:  34 on 794  Progress:  35 on 794  Progress:  36 on 794  Progress:  37 on 794  Progress:  38 on 794  Progress:  39 on 794  Progress:  40 on 794  Progress:  41 on 794  Progress:  42 on 794  Progress:  43 on 794  Progress:  44 on 794  Progress:  45 on 794  Progress:  46 on 794  Progress:  47 on 794  Progress:  48 on 794  Progress:  49 on 794  Progress:  50 on 794  Progress:  51 on 794  Progress:  52 on 794  Progress:  53 on 794  Progress:  54 on 794  Progress:  55 on 794  Progress:  56 on 794  Progress:  57 on 794  Progress:  58 on 794  Progress:  59 on 794  Progress:  60 on 794  Progress:  61 on 794  Progress:  62 on 794  Progress:  63 on 794  Progress:  64 on 794  Progress:  65 on 794  Progress:  66 on 794  Progress:  67 on 794  Progress:  68 on 794  Progress:  69 on 794  Progress:  70 on 794  Progress:  71 on 794  Progress:  72 on 794  Progress:  73 on 794  Progress:  74 on 794  Progress:  75 on 794  Progress:  76 on 794  Progress:  77 on 794  Progress:  78 on 794  Progress:  79 on 794  Progress:  80 on 794  Progress:  81 on 794  Progress:  82 on 794  Progress:  83 on 794  Progress:  84 on 794  Progress:  85 on 794  Progress:  86 on 794  Progress:  87 on 794  Progress:  88 on 794  Progress:  89 on 794  Progress:  90 on 794  Progress:  91 on 794  Progress:  92 on 794  Progress:  93 on 794  Progress:  94 on 794  Progress:  95 on 794  Progress:  96 on 794  Progress:  97 on 794  Progress:  98 on 794  Progress:  99 on 794  Progress: 100 on 794  Progress: 101 on 794  Progress: 102 on 794  Progress: 103 on 794  Progress: 104 on 794  Progress: 105 on 794  Progress: 106 on 794  Progress: 107 on 794  Progress: 108 on 794  Progress: 109 on 794  Progress: 110 on 794  Progress: 111 on 794  Progress: 112 on 794  Progress: 113 on 794  Progress: 114 on 794  Progress: 115 on 794  Progress: 116 on 794  Progress: 117 on 794  Progress: 118 on 794  Progress: 119 on 794  Progress: 120 on 794  Progress: 121 on 794  Progress: 122 on 794  Progress: 123 on 794  Progress: 124 on 794  Progress: 125 on 794  Progress: 126 on 794  Progress: 127 on 794  Progress: 128 on 794  Progress: 129 on 794  Progress: 130 on 794  Progress: 131 on 794  Progress: 132 on 794  Progress: 133 on 794  Progress: 134 on 794  Progress: 135 on 794  Progress: 136 on 794  Progress: 137 on 794  Progress: 138 on 794  Progress: 139 on 794  Progress: 140 on 794  Progress: 141 on 794  Progress: 142 on 794  Progress: 143 on 794  Progress: 144 on 794  Progress: 145 on 794  Progress: 146 on 794  Progress: 147 on 794  Progress: 148 on 794  Progress: 149 on 794  Progress: 150 on 794  Progress: 151 on 794  Progress: 152 on 794  Progress: 153 on 794  Progress: 154 on 794  Progress: 155 on 794  Progress: 156 on 794  Progress: 157 on 794  Progress: 158 on 794  Progress: 159 on 794  Progress: 160 on 794  Progress: 161 on 794  Progress: 162 on 794  Progress: 163 on 794  Progress: 164 on 794  Progress: 165 on 794  Progress: 166 on 794  Progress: 167 on 794  Progress: 168 on 794  Progress: 169 on 794  Progress: 170 on 794  Progress: 171 on 794  Progress: 172 on 794  Progress: 173 on 794  Progress: 174 on 794  Progress: 175 on 794  Progress: 176 on 794  Progress: 177 on 794  Progress: 178 on 794  Progress: 179 on 794  Progress: 180 on 794  Progress: 181 on 794  Progress: 182 on 794  Progress: 183 on 794  Progress: 184 on 794  Progress: 185 on 794  Progress: 186 on 794  Progress: 187 on 794  Progress: 188 on 794  Progress: 189 on 794  Progress: 190 on 794  Progress: 191 on 794  Progress: 192 on 794  Progress: 193 on 794  Progress: 194 on 794  Progress: 195 on 794  Progress: 196 on 794  Progress: 197 on 794  Progress: 198 on 794  Progress: 199 on 794  Progress: 200 on 794  Progress: 201 on 794  Progress: 202 on 794  Progress: 203 on 794  Progress: 204 on 794  Progress: 205 on 794  Progress: 206 on 794  Progress: 207 on 794  Progress: 208 on 794  Progress: 209 on 794  Progress: 210 on 794  Progress: 211 on 794  Progress: 212 on 794  Progress: 213 on 794  Progress: 214 on 794  Progress: 215 on 794  Progress: 216 on 794  Progress: 217 on 794  Progress: 218 on 794  Progress: 219 on 794  Progress: 220 on 794  Progress: 221 on 794  Progress: 222 on 794  Progress: 223 on 794  Progress: 224 on 794  Progress: 225 on 794  Progress: 226 on 794  Progress: 227 on 794  Progress: 228 on 794  Progress: 229 on 794  Progress: 230 on 794  Progress: 231 on 794  Progress: 232 on 794  Progress: 233 on 794  Progress: 234 on 794  Progress: 235 on 794  Progress: 236 on 794  Progress: 237 on 794  Progress: 238 on 794  Progress: 239 on 794  Progress: 240 on 794  Progress: 241 on 794  Progress: 242 on 794  Progress: 243 on 794  Progress: 244 on 794  Progress: 245 on 794  Progress: 246 on 794  Progress: 247 on 794  Progress: 248 on 794  Progress: 249 on 794  Progress: 250 on 794  Progress: 251 on 794  Progress: 252 on 794  Progress: 253 on 794  Progress: 254 on 794  Progress: 255 on 794  Progress: 256 on 794  Progress: 257 on 794  Progress: 258 on 794  Progress: 259 on 794  Progress: 260 on 794  Progress: 261 on 794  Progress: 262 on 794  Progress: 263 on 794  Progress: 264 on 794  Progress: 265 on 794  Progress: 266 on 794  Progress: 267 on 794  Progress: 268 on 794  Progress: 269 on 794  Progress: 270 on 794  Progress: 271 on 794  Progress: 272 on 794  Progress: 273 on 794  Progress: 274 on 794  Progress: 275 on 794  Progress: 276 on 794  Progress: 277 on 794  Progress: 278 on 794  Progress: 279 on 794  Progress: 280 on 794  Progress: 281 on 794  Progress: 282 on 794  Progress: 283 on 794  Progress: 284 on 794  Progress: 285 on 794  Progress: 286 on 794  Progress: 287 on 794  Progress: 288 on 794  Progress: 289 on 794  Progress: 290 on 794  Progress: 291 on 794  Progress: 292 on 794  Progress: 293 on 794  Progress: 294 on 794  Progress: 295 on 794  Progress: 296 on 794  Progress: 297 on 794  Progress: 298 on 794  Progress: 299 on 794  Progress: 300 on 794  Progress: 301 on 794  Progress: 302 on 794  Progress: 303 on 794  Progress: 304 on 794  Progress: 305 on 794  Progress: 306 on 794  Progress: 307 on 794  Progress: 308 on 794  Progress: 309 on 794  Progress: 310 on 794  Progress: 311 on 794  Progress: 312 on 794  Progress: 313 on 794  Progress: 314 on 794  Progress: 315 on 794  Progress: 316 on 794  Progress: 317 on 794  Progress: 318 on 794  Progress: 319 on 794  Progress: 320 on 794  Progress: 321 on 794  Progress: 322 on 794  Progress: 323 on 794  Progress: 324 on 794  Progress: 325 on 794  Progress: 326 on 794  Progress: 327 on 794  Progress: 328 on 794  Progress: 329 on 794  Progress: 330 on 794  Progress: 331 on 794  Progress: 332 on 794  Progress: 333 on 794  Progress: 334 on 794  Progress: 335 on 794  Progress: 336 on 794  Progress: 337 on 794  Progress: 338 on 794  Progress: 339 on 794  Progress: 340 on 794  Progress: 341 on 794  Progress: 342 on 794  Progress: 343 on 794  Progress: 344 on 794  Progress: 345 on 794  Progress: 346 on 794  Progress: 347 on 794  Progress: 348 on 794  Progress: 349 on 794  Progress: 350 on 794  Progress: 351 on 794  Progress: 352 on 794  Progress: 353 on 794  Progress: 354 on 794  Progress: 355 on 794  Progress: 356 on 794  Progress: 357 on 794  Progress: 358 on 794  Progress: 359 on 794  Progress: 360 on 794  Progress: 361 on 794  Progress: 362 on 794  Progress: 363 on 794  Progress: 364 on 794  Progress: 365 on 794  Progress: 366 on 794  Progress: 367 on 794  Progress: 368 on 794  Progress: 369 on 794  Progress: 370 on 794  Progress: 371 on 794  Progress: 372 on 794  Progress: 373 on 794  Progress: 374 on 794  Progress: 375 on 794  Progress: 376 on 794  Progress: 377 on 794  Progress: 378 on 794  Progress: 379 on 794  Progress: 380 on 794  Progress: 381 on 794  Progress: 382 on 794  Progress: 383 on 794  Progress: 384 on 794  Progress: 385 on 794  Progress: 386 on 794  Progress: 387 on 794  Progress: 388 on 794  Progress: 389 on 794  Progress: 390 on 794  Progress: 391 on 794  Progress: 392 on 794  Progress: 393 on 794  Progress: 394 on 794  Progress: 395 on 794  Progress: 396 on 794  Progress: 397 on 794  Progress: 398 on 794  Progress: 399 on 794  Progress: 400 on 794  Progress: 401 on 794  Progress: 402 on 794  Progress: 403 on 794  Progress: 404 on 794  Progress: 405 on 794  Progress: 406 on 794  Progress: 407 on 794  Progress: 408 on 794  Progress: 409 on 794  Progress: 410 on 794  Progress: 411 on 794  Progress: 412 on 794  Progress: 413 on 794  Progress: 414 on 794  Progress: 415 on 794  Progress: 416 on 794  Progress: 417 on 794  Progress: 418 on 794  Progress: 419 on 794  Progress: 420 on 794  Progress: 421 on 794  Progress: 422 on 794  Progress: 423 on 794  Progress: 424 on 794  Progress: 425 on 794  Progress: 426 on 794  Progress: 427 on 794  Progress: 428 on 794  Progress: 429 on 794  Progress: 430 on 794  Progress: 431 on 794  Progress: 432 on 794  Progress: 433 on 794  Progress: 434 on 794  Progress: 435 on 794  Progress: 436 on 794  Progress: 437 on 794  Progress: 438 on 794  Progress: 439 on 794  Progress: 440 on 794  Progress: 441 on 794  Progress: 442 on 794  Progress: 443 on 794  Progress: 444 on 794  Progress: 445 on 794  Progress: 446 on 794  Progress: 447 on 794  Progress: 448 on 794  Progress: 449 on 794  Progress: 450 on 794  Progress: 451 on 794  Progress: 452 on 794  Progress: 453 on 794  Progress: 454 on 794  Progress: 455 on 794  Progress: 456 on 794  Progress: 457 on 794  Progress: 458 on 794  Progress: 459 on 794  Progress: 460 on 794  Progress: 461 on 794  Progress: 462 on 794  Progress: 463 on 794  Progress: 464 on 794  Progress: 465 on 794  Progress: 466 on 794  Progress: 467 on 794  Progress: 468 on 794  Progress: 469 on 794  Progress: 470 on 794  Progress: 471 on 794  Progress: 472 on 794  Progress: 473 on 794  Progress: 474 on 794  Progress: 475 on 794  Progress: 476 on 794  Progress: 477 on 794  Progress: 478 on 794  Progress: 479 on 794  Progress: 480 on 794  Progress: 481 on 794  Progress: 482 on 794  Progress: 483 on 794  Progress: 484 on 794  Progress: 485 on 794  Progress: 486 on 794  Progress: 487 on 794  Progress: 488 on 794  Progress: 489 on 794  Progress: 490 on 794  Progress: 491 on 794  Progress: 492 on 794  Progress: 493 on 794  Progress: 494 on 794  Progress: 495 on 794  Progress: 496 on 794  Progress: 497 on 794  Progress: 498 on 794  Progress: 499 on 794  Progress: 500 on 794  Progress: 501 on 794  Progress: 502 on 794  Progress: 503 on 794  Progress: 504 on 794  Progress: 505 on 794  Progress: 506 on 794  Progress: 507 on 794  Progress: 508 on 794  Progress: 509 on 794  Progress: 510 on 794  Progress: 511 on 794  Progress: 512 on 794  Progress: 513 on 794  Progress: 514 on 794  Progress: 515 on 794  Progress: 516 on 794  Progress: 517 on 794  Progress: 518 on 794  Progress: 519 on 794  Progress: 520 on 794  Progress: 521 on 794  Progress: 522 on 794  Progress: 523 on 794  Progress: 524 on 794  Progress: 525 on 794  Progress: 526 on 794  Progress: 527 on 794  Progress: 528 on 794  Progress: 529 on 794  Progress: 530 on 794  Progress: 531 on 794  Progress: 532 on 794  Progress: 533 on 794  Progress: 534 on 794  Progress: 535 on 794  Progress: 536 on 794  Progress: 537 on 794  Progress: 538 on 794  Progress: 539 on 794  Progress: 540 on 794  Progress: 541 on 794  Progress: 542 on 794  Progress: 543 on 794  Progress: 544 on 794  Progress: 545 on 794  Progress: 546 on 794  Progress: 547 on 794  Progress: 548 on 794  Progress: 549 on 794  Progress: 550 on 794  Progress: 551 on 794  Progress: 552 on 794  Progress: 553 on 794  Progress: 554 on 794  Progress: 555 on 794  Progress: 556 on 794  Progress: 557 on 794  Progress: 558 on 794  Progress: 559 on 794  Progress: 560 on 794  Progress: 561 on 794  Progress: 562 on 794  Progress: 563 on 794  Progress: 564 on 794  Progress: 565 on 794  Progress: 566 on 794  Progress: 567 on 794  Progress: 568 on 794  Progress: 569 on 794  Progress: 570 on 794  Progress: 571 on 794  Progress: 572 on 794  Progress: 573 on 794  Progress: 574 on 794  Progress: 575 on 794  Progress: 576 on 794  Progress: 577 on 794  Progress: 578 on 794  Progress: 579 on 794  Progress: 580 on 794  Progress: 581 on 794  Progress: 582 on 794  Progress: 583 on 794  Progress: 584 on 794  Progress: 585 on 794  Progress: 586 on 794  Progress: 587 on 794  Progress: 588 on 794  Progress: 589 on 794  Progress: 590 on 794  Progress: 591 on 794  Progress: 592 on 794  Progress: 593 on 794  Progress: 594 on 794  Progress: 595 on 794  Progress: 596 on 794  Progress: 597 on 794  Progress: 598 on 794  Progress: 599 on 794  Progress: 600 on 794  Progress: 601 on 794  Progress: 602 on 794  Progress: 603 on 794  Progress: 604 on 794  Progress: 605 on 794  Progress: 606 on 794  Progress: 607 on 794  Progress: 608 on 794  Progress: 609 on 794  Progress: 610 on 794  Progress: 611 on 794  Progress: 612 on 794  Progress: 613 on 794  Progress: 614 on 794  Progress: 615 on 794  Progress: 616 on 794  Progress: 617 on 794  Progress: 618 on 794  Progress: 619 on 794  Progress: 620 on 794  Progress: 621 on 794  Progress: 622 on 794  Progress: 623 on 794  Progress: 624 on 794  Progress: 625 on 794  Progress: 626 on 794  Progress: 627 on 794  Progress: 628 on 794  Progress: 629 on 794  Progress: 630 on 794  Progress: 631 on 794  Progress: 632 on 794  Progress: 633 on 794  Progress: 634 on 794  Progress: 635 on 794  Progress: 636 on 794  Progress: 637 on 794  Progress: 638 on 794  Progress: 639 on 794  Progress: 640 on 794  Progress: 641 on 794  Progress: 642 on 794  Progress: 643 on 794  Progress: 644 on 794  Progress: 645 on 794  Progress: 646 on 794  Progress: 647 on 794  Progress: 648 on 794  Progress: 649 on 794  Progress: 650 on 794  Progress: 651 on 794  Progress: 652 on 794  Progress: 653 on 794  Progress: 654 on 794  Progress: 655 on 794  Progress: 656 on 794  Progress: 657 on 794  Progress: 658 on 794  Progress: 659 on 794  Progress: 660 on 794  Progress: 661 on 794  Progress: 662 on 794  Progress: 663 on 794  Progress: 664 on 794  Progress: 665 on 794  Progress: 666 on 794  Progress: 667 on 794  Progress: 668 on 794  Progress: 669 on 794  Progress: 670 on 794  Progress: 671 on 794  Progress: 672 on 794  Progress: 673 on 794  Progress: 674 on 794  Progress: 675 on 794  Progress: 676 on 794  Progress: 677 on 794  Progress: 678 on 794  Progress: 679 on 794  Progress: 680 on 794  Progress: 681 on 794  Progress: 682 on 794  Progress: 683 on 794  Progress: 684 on 794  Progress: 685 on 794  Progress: 686 on 794  Progress: 687 on 794  Progress: 688 on 794  Progress: 689 on 794  Progress: 690 on 794  Progress: 691 on 794  Progress: 692 on 794  Progress: 693 on 794  Progress: 694 on 794  Progress: 695 on 794  Progress: 696 on 794  Progress: 697 on 794  Progress: 698 on 794  Progress: 699 on 794  Progress: 700 on 794  Progress: 701 on 794  Progress: 702 on 794  Progress: 703 on 794  Progress: 704 on 794  Progress: 705 on 794  Progress: 706 on 794  Progress: 707 on 794  Progress: 708 on 794  Progress: 709 on 794  Progress: 710 on 794  Progress: 711 on 794  Progress: 712 on 794  Progress: 713 on 794  Progress: 714 on 794  Progress: 715 on 794  Progress: 716 on 794  Progress: 717 on 794  Progress: 718 on 794  Progress: 719 on 794  Progress: 720 on 794  Progress: 721 on 794  Progress: 722 on 794  Progress: 723 on 794  Progress: 724 on 794  Progress: 725 on 794  Progress: 726 on 794  Progress: 727 on 794  Progress: 728 on 794  Progress: 729 on 794  Progress: 730 on 794  Progress: 731 on 794  Progress: 732 on 794  Progress: 733 on 794  Progress: 734 on 794  Progress: 735 on 794  Progress: 736 on 794  Progress: 737 on 794  Progress: 738 on 794  Progress: 739 on 794  Progress: 740 on 794  Progress: 741 on 794  Progress: 742 on 794  Progress: 743 on 794  Progress: 744 on 794  Progress: 745 on 794  Progress: 746 on 794  Progress: 747 on 794  Progress: 748 on 794  Progress: 749 on 794  Progress: 750 on 794  Progress: 751 on 794  Progress: 752 on 794  Progress: 753 on 794  Progress: 754 on 794  Progress: 755 on 794  Progress: 756 on 794  Progress: 757 on 794  Progress: 758 on 794  Progress: 759 on 794  Progress: 760 on 794  Progress: 761 on 794  Progress: 762 on 794  Progress: 763 on 794  Progress: 764 on 794  Progress: 765 on 794  Progress: 766 on 794  Progress: 767 on 794  Progress: 768 on 794  Progress: 769 on 794  Progress: 770 on 794  Progress: 771 on 794  Progress: 772 on 794  Progress: 773 on 794  Progress: 774 on 794  Progress: 775 on 794  Progress: 776 on 794  Progress: 777 on 794  Progress: 778 on 794  Progress: 779 on 794  Progress: 780 on 794  Progress: 781 on 794  Progress: 782 on 794  Progress: 783 on 794  Progress: 784 on 794  Progress: 785 on 794  Progress: 786 on 794  Progress: 787 on 794  Progress: 788 on 794  Progress: 789 on 794  Progress: 790 on 794  Progress: 791 on 794  Progress: 792 on 794  Progress: 793 on 794  Progress: 794 on 794  
za_instytucja <- za_instytucja %>%
  filter(is.na(czy_nazwisko)&is.na(czy_imie)) %>%
  filter(instytucja!="") %>%
  filter(!grepl("^\\[[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]|^[a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž]",instytucja)) %>%
  mutate(instytucja = str_remove(instytucja,"\\.$")) %>%
  select(ZA_UWAGI,instytucja) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#10: wydawnictwo
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI, X260) %>%
  mutate(X260 = str_replace_all(X260,"s\\.n\\.", "b.w."), 
         X260 = str_replace_all(X260,"s\\.l\\.", "b.m."), 
         X260 = str_replace_all(X260,"S\\.l\\.", "b.m."), 
         X260 = str_remove(X260,"^\\\\+"), 
         rok_wydania = str_extract_all(X260, "(?<=\\$c).*(?=\\$e)|(?<=\\$c).*"), 
         bez_roku = str_replace_all(X260, ".\\$c.*", ""), 
         ile_wydawnictw = str_count(bez_roku, "\\$b"),
         ile_miejsc = str_count(bez_roku, "\\$a"),
         kolejnosc = str_replace_all(as.character(str_extract_all(bez_roku, "\\$.")), "[^a-z]", ""),
         bez_roku = str_replace_all(bez_roku, ";\\$b", ":$b"),
         wydaw_podziel = ifelse(ile_wydawnictw>ile_miejsc|kolejnosc=="caabb", str_replace_all(bez_roku, "(\\$a)(.*?)( :\\$b.*?)( :\\$b)", "\\1\\2\\3 ;$a\\2\\4"),bez_roku),
         wydawnictwo_test = str_replace_all(wydaw_podziel, "(\\$b)(.*?)( ;\\$a)", "\\1\\2|\\3")) %>%
  select(ZA_UWAGI,rok_wydania,wydawnictwo_test) %>%
  cSplit(., "wydawnictwo_test", sep = "|", direction = "long") %>%
  mutate(wydawnictwo = str_extract_all(wydawnictwo_test, "(?<=\\$b)(.*)"),
         miejsce_wydania = str_replace_all(str_extract_all(wydawnictwo_test, "(?<=\\$a)(.*)(?= {0,1}: {0,1}\\$b)|(?<=\\$a)(.*)($)")," ;\\$a", ", "),
         nazwa_prosta = str_to_lower(str_replace_all(str_replace_all(unlist(wydawnictwo_test), "\\$\\w", ""), "\\W", ""))) %>%
  left_join(.,PBL_wydawnictwa,by="nazwa_prosta") %>%
  mutate(to_samo = wydawnictwo==WY_NAZWA) %>%
  arrange(ZA_UWAGI,-to_samo,-WY_LICZBA_ZAPISOW)
BN_wydawnictwo$id_grupy <- cumsum(!duplicated(BN_wydawnictwo[1:3]))
BN_wydawnictwo <- BN_wydawnictwo[!duplicated(BN_wydawnictwo$id_grupy),] %>%
  mutate(WY_NAZWA = ifelse(!is.na(WY_NAZWA),as.character(WY_NAZWA),as.character(wydawnictwo)),
         WY_MIASTO = ifelse(!is.na(WY_MIASTO),as.character(WY_MIASTO),trim(as.character(miejsce_wydania))),
         rok_wydania = str_replace_all(rok_wydania, "(.*)(\\.)", "\\1"),
         za_rok_wydania = ifelse(nchar(rok_wydania)==4,as.character(rok_wydania),NA),
         do_opisu = ifelse(is.na(za_rok_wydania),paste("[",str_extract(rok_wydania,"\\d{4}"),"]",sep = ""),""),
         WY_MIASTO = ifelse(substr(WY_MIASTO,1,1)=="["&substr(WY_MIASTO,nchar(WY_MIASTO),nchar(WY_MIASTO))!="]"&is.na(WY_WYDAWNICTWO_ID),paste(trim(WY_MIASTO),"]",sep = ""),as.character(WY_MIASTO))) %>%
  select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania,do_opisu) %>% 
  mutate(WY_NAZWA = ifelse(str_count(WY_NAZWA, "\\[")>str_count(WY_NAZWA, "\\]"), paste(WY_NAZWA, "]", sep = ""),
                           ifelse(str_count(WY_NAZWA, "\\[")<str_count(WY_NAZWA, "\\]"), paste("[", WY_NAZWA, sep = ""), as.character(WY_NAZWA))),
         WY_MIASTO = ifelse(str_count(WY_MIASTO, "\\[")>str_count(WY_MIASTO, "\\]"), paste(WY_MIASTO, "]", sep = ""),
                           ifelse(str_count(WY_MIASTO, "\\[")<str_count(WY_MIASTO, "\\]"), paste("[", WY_MIASTO, sep = ""), as.character(WY_MIASTO))))

#11: opis fizyczny książki
#pole 300 do opisu fizycznego
marc_field_300 <- data %>%
  select(ZA_UWAGI,X300)%>%
  filter(X300!="") %>%
  mutate(X300=str_replace_all(X300,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X300",sep = "~",direction = "long") %>%
  filter(X300!="") %>%
  mutate(X300=str_remove_all(X300,"^\\|")) %>%
  mutate(indicator = str_replace_all(X300,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X300,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_300)[1]))
colnames(empty_table) <-subfield_list
marc_field_300<-cbind(marc_field_300,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_300$X300 <- str_replace(marc_field_300$X300,subfield_list_char[i],"|\\1")
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_300[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_300$X300),str_replace_all(gsub(string,"\\3",marc_field_300$X300),"\\${2}.", "~"),NA)
}
Progress: 1 on 4  Progress: 2 on 4  Progress: 3 on 4  Progress: 4 on 4  
marc_field_300 <- marc_field_300 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$b` = str_remove(`$b`," \\;+$| \\:+$"),
         `$e` = ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`)&grepl("\\+ dysk|płyt",`$e`),str_extract(`$e`,"(?<=\\+)(dysk|płyt.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),
                       ifelse(grepl("CD-ROM|DVD|VCD|CD",`$e`),str_extract(`$e`,"(^.*?)(CD-ROM|DVD|VCD|CD)(\\)){0,1}"),NA)),
         `$a` = ifelse(is.na(`$a`),"",as.character(`$a`)),
         `$b` = ifelse(is.na(`$b`),"",as.character(`$b`)),
         `$e` = ifelse(is.na(`$e`),"",as.character(`$e`)))
#pole 500 do opisu fizycznego
marc_field_500 <- data %>%
  select(ZA_UWAGI,X500)%>%
  filter(X500!="") %>%
  mutate(X500=str_replace_all(X500,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X500",sep = "~",direction = "long") %>%
  filter(X500!="") %>%
  mutate(X500=str_remove_all(X500,"^\\|")) %>%
  mutate(indicator = str_replace_all(X500,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X500,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_500)[1]))
colnames(empty_table) <-subfield_list
marc_field_500<-cbind(marc_field_500,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_500$X500 <- str_replace(marc_field_500$X500,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_500[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_500$X500),str_replace_all(gsub(string,"\\3",marc_field_500$X500),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_500 <- marc_field_500 %>%
  mutate(`$a` = ifelse(grepl("oryg(\\.|\\,)",X500)&grepl("pseud|nazwa",X500,ignore.case = TRUE),str_replace(`$a`,"(^.*?)(\\. )(\\p{Lu}.*$)","\\3"),as.character(`$a`))) %>% 
  filter(!grepl("oryg(\\.|\\,)",`$a`)&grepl("pseud|nazwa|dotycz|pol",`$a`,ignore.case = TRUE)) %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))
  
#pole 546 do opisu fizycznego
marc_field_546 <- data %>%
  select(ZA_UWAGI,X546)%>%
  filter(X546!="") %>%
  mutate(X546=str_replace_all(X546,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X546",sep = "~",direction = "long") %>%
  filter(X546!="") %>%
  mutate(X546=str_remove_all(X546,"^\\|")) %>%
  mutate(indicator = str_replace_all(X546,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X546,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_546)[1]))
colnames(empty_table) <-subfield_list
marc_field_546<-cbind(marc_field_546,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_546$X546 <- str_replace(marc_field_546$X546,subfield_list_char[i],"|\\1")
}
Progress: 1 on 1  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_546[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_546$X546),str_replace_all(gsub(string,"\\3",marc_field_546$X546),"\\${2}.", "~"),NA)
}
Progress: 1 on 1  
marc_field_546 <- marc_field_546 %>%
  mutate(`$a` = str_remove(`$a`," \\;+$| \\:+$"))

za_opis_ks <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,do_opisu),by="ZA_UWAGI") %>%
  left_join(.,marc_field_300 %>% select(ZA_UWAGI,X300a=`$a`,X300b=`$b`,X300e=`$e`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_500 %>% select(ZA_UWAGI,X500a=`$a`),by="ZA_UWAGI") %>%
  left_join(.,marc_field_546 %>% select(ZA_UWAGI,X546a=`$a`),by="ZA_UWAGI")
za_opis_ks[is.na(za_opis_ks)]  <- ""
za_opis_ks <- za_opis_ks %>%
  mutate(za_opis_ks = paste(ifelse(do_opisu!="",paste(as.character(do_opisu),", ",sep = ""),""),ifelse(X300a!="",paste(as.character(X300a),", ",sep = ""),""),ifelse(X300b!="",paste(as.character(X300b),", ",sep = ""),""),ifelse(X300e!="",paste(as.character(X300e),", ",sep = ""),""),ifelse(X500a!="",paste(as.character(X500a),", ",sep = ""),""),ifelse(X546a!="",as.character(X546a),""),sep = ""),
         za_opis_ks = str_remove(za_opis_ks,"(, )+$")) %>%
  select(ZA_UWAGI,za_opis_ks) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(za_opis_ks))
za_opis_ks$id_grupy <- cumsum(!duplicated(za_opis_ks[1]))
za_opis_ks <- za_opis_ks[!duplicated(za_opis_ks$id_grupy),] %>%
  select(-id_grupy)

#12: seria wydawnicza
marc_field_490 <- data %>%
  select(ZA_UWAGI,X490,X800,X830) %>%
  mutate(X490 = ifelse(grepl("U\\+",X490),as.character(X830),as.character(X490))) %>%
  mutate(X800 = ifelse(X490!="","",as.character(X800)),
         X830 = ifelse(X490!="","",as.character(X830)),
         X800 = str_replace(X800,"(\\$a)(.*)(\\$t)","\\1"),
         X490 = ifelse(X490==""&X830!="",as.character(X830),
                       ifelse(X490==""&X800!="",as.character(X800),as.character(X490)))) %>%
  select(ZA_UWAGI,X490) %>%
  filter(X490!="") %>%
  mutate(X490=str_replace_all(X490,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X490",sep = "~",direction = "long") %>%
  filter(X490!="") %>%
  mutate(X490=str_remove_all(X490,"^\\|")) %>%
  mutate(indicator = str_replace_all(X490,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X490,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_490)[1]))
colnames(empty_table) <-subfield_list
marc_field_490<-cbind(marc_field_490,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_490$X490 <- str_replace(marc_field_490$X490,subfield_list_char[i],"|\\1")
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_490[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_490$X490),str_replace_all(gsub(string,"\\3",marc_field_490$X490),"\\${2}.", "~"),NA)
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
za_seria_wydawnicza <- marc_field_490 %>%
  mutate(`$a` = str_replace_all(`$a`,"(=)(\\$a)","\\1 "),
         `$a` = str_remove(`$a`," \\;+$| \\:+$"),
         `$v` = ifelse(is.na(`$v`),"",as.character(`$v`))) %>%
  filter(!is.na(`$a`)) %>%
  mutate(seria = str_remove(paste("(",`$a`,"; ",`$v`,")",sep = ""),"; (?=\\)$)"),
         seria = gsub("( : )(.)",". \\U\\2",perl=TRUE,seria)) %>%
  select(ZA_UWAGI,seria) %>%
  group_by(ZA_UWAGI) %>%
  mutate(seria = paste(seria,collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(seria = str_replace_all(seria,"\\$.","; ")) %>%
  right_join(.,data %>% select(ZA_UWAGI),by="ZA_UWAGI")

#13: tomy
za_tomy <- data %>%
  select(ZA_UWAGI) %>%
  mutate(za_tomy = NA)

#14: adnotacje
za_adnotacje <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,ZA_ADNOTACJE %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,ZA_ADNOTACJE),by="ZA_UWAGI") %>%
  mutate(ZA_ADNOTACJE = paste(ifelse(is.na(ZA_ADNOTACJE.x),"",paste(as.character(ZA_ADNOTACJE.x),"# ",sep = "")),ifelse(is.na(ZA_ADNOTACJE.y),"",as.character(ZA_ADNOTACJE.y)),sep = ""),
         ZA_ADNOTACJE = str_remove(ZA_ADNOTACJE,"(# )+$")) %>%
  select(ZA_UWAGI,ZA_ADNOTACJE) %>%
  unique() %>%
  arrange(ZA_UWAGI,-nchar(ZA_ADNOTACJE))
za_adnotacje$id_grupy <- cumsum(!duplicated(za_adnotacje[1]))
za_adnotacje <- za_adnotacje[!duplicated(za_adnotacje$id_grupy),] %>%
  select(-id_grupy)

#15: BN_URL
BN_URL <- data %>%
  select(ZA_UWAGI,BN_URL)

#wyrównanie liczby wierszy do liczby wierszy obiektu data
BN_wspoltworca <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wspoltworca %>% select(ZA_UWAGI,OS_OSOBA_ID,OS_NAZWISKO,OS_IMIE,fo_symbol),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, OS_OSOBA_ID = paste(OS_OSOBA_ID, collapse="|"), OS_NAZWISKO = paste(OS_NAZWISKO, collapse="|"), OS_IMIE = paste(OS_IMIE, collapse="|"), fo_symbol = paste(fo_symbol, collapse="|")) %>%
  mutate(fo_symbol = ifelse(fo_symbol=="NULL","NA",as.character(fo_symbol)))
BN_wydawnictwo <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,BN_wydawnictwo %>% select(ZA_UWAGI,WY_WYDAWNICTWO_ID,WY_NAZWA,WY_MIASTO,za_rok_wydania),by="ZA_UWAGI") %>%
  ddply(., .(ZA_UWAGI), summarize, WY_WYDAWNICTWO_ID = paste(WY_WYDAWNICTWO_ID, collapse="|"), WY_NAZWA = paste(WY_NAZWA, collapse="|"), WY_MIASTO = paste(WY_MIASTO, collapse="|"), za_rok_wydania = paste(unique(za_rok_wydania), collapse="|")) %>%
  mutate(za_rok_wydania = ifelse(za_rok_wydania=="NA","",as.integer(za_rok_wydania)))
pojawi戼㸳y si攼㹡 warto㤼㹣ci NA na skutek przekszta戼㸳cenia
#połączenie wszystkich elementów w jedną tabelę
kolejnosc <- data.frame(kolejnosc=c("ZA_UWAGI","RZ_NAZWA","ZA_RO_ROK","ZA_TYPE","RZ_RODZAJ_ID","DZ_NAZWA","DZ_DZIAL_ID","TW_TWORCA_ID","AM_AUTOR_ID","AM_NAZWISKO","AM_IMIE","ZA_TYTUL","ZA_TYTUL_ORYGINALU","ZA_JEZYK_ORYGINALU","OS_OSOBA_ID","OS_NAZWISKO","OS_IMIE","fo_symbol","za_opis_wspoltworcow","wydanie","za_tomy","instytucja","WY_WYDAWNICTWO_ID","WY_MIASTO","WY_NAZWA","za_rok_wydania","za_opis_ks","seria","TW_NAZWISKO","TW_IMIE","redaktor_dzialu","ZA_ADNOTACJE","BN_URL"))
polaczone <- data %>%
  select(ZA_UWAGI) %>%
  left_join(.,pola_pbl,by = "ZA_UWAGI") %>%
  left_join(.,BN_autor,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul,by = "ZA_UWAGI") %>%
  left_join(.,za_tytul_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,za_jezyk_oryginalu,by = "ZA_UWAGI") %>%
  left_join(.,BN_wspoltworca,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_wspoltworcow,by = "ZA_UWAGI") %>%
  left_join(.,za_wydanie,by = "ZA_UWAGI") %>%
  left_join(.,za_instytucja,by = "ZA_UWAGI") %>%
  left_join(.,BN_wydawnictwo,by = "ZA_UWAGI") %>%
  left_join(.,za_opis_ks,by = "ZA_UWAGI") %>%
  left_join(.,za_seria_wydawnicza,by = "ZA_UWAGI") %>%
  left_join(.,za_tomy,by = "ZA_UWAGI") %>%
  left_join(.,za_adnotacje,by = "ZA_UWAGI") %>%
  left_join(.,BN_URL,by = "ZA_UWAGI") %>%
  select(as.vector(kolejnosc$kolejnosc))
colnames(polaczone) <- c("rekord_BN","rz_nazwa","za_ro_rok","za_type","rz_rodzaj_id","DZ_NAZWA","DZ_DZIAL_ID","tw_tworca_id","am_autor_id","am_nazwisko","am_imie","za_tytul","za_tytul_oryginalu","za_jezyk_oryginalu","os_osoba_id","os_nazwisko","os_imie","fo_symbol","za_opis_wspoltworcow","za_wydanie","za_tomy","za_instytucja","wy_wydawnictwo_id","wy_miejsce","wy_nazwa","za_rok_wydania","za_opis_fizyczny_ksiazki","za_seria_wydawnicza","tw_nazwisko","tw_imie","pracownik","za_adnotacje","BN_URL")

#zasygnalizowanie niepoprawnego kodowania
x <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("<U\\+(....)>",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)!=0,paste(polaczone$za_adnotacje,paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole",sep = ""),sep = "# "),paste("UWAGA! Błąd kodowania w polu ",as.character(names(polaczone[i]))," Znajdź frazę \"???\" i zredaguj pole",sep = "")),as.character(polaczone$za_adnotacje))
  polaczone[,i] <- gsub("<U\\+(....)>", "???", polaczone[,i])
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku $ w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("\\$",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano znak \"$\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności frazy "character(0)" w którymś z pól
X <- 1:(length(polaczone)-2)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  polaczone$za_adnotacje <- ifelse(grepl("character\\(0\\)",polaczone[,i]),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),paste(polaczone$za_adnotacje,paste("UWAGA! Ze względu na błędny zapis BN w polu ",as.character(names(polaczone[i]))," wydrukowano frazę \"character(0)\". Zredaguj treść pola.",sep = ""),sep = "# ")),as.character(polaczone$za_adnotacje))
}
Progress:  1 on 31  Progress:  2 on 31  Progress:  3 on 31  Progress:  4 on 31  Progress:  5 on 31  Progress:  6 on 31  Progress:  7 on 31  Progress:  8 on 31  Progress:  9 on 31  Progress: 10 on 31  Progress: 11 on 31  Progress: 12 on 31  Progress: 13 on 31  Progress: 14 on 31  Progress: 15 on 31  Progress: 16 on 31  Progress: 17 on 31  Progress: 18 on 31  Progress: 19 on 31  Progress: 20 on 31  Progress: 21 on 31  Progress: 22 on 31  Progress: 23 on 31  Progress: 24 on 31  Progress: 25 on 31  Progress: 26 on 31  Progress: 27 on 31  Progress: 28 on 31  Progress: 29 on 31  Progress: 30 on 31  Progress: 31 on 31  
#zasygnalizowanie obecności znaku # w opisie współtwórców
polaczone$za_adnotacje <- ifelse(grepl("\\#",polaczone$za_opis_wspoltworcow),
                                   ifelse(nchar(polaczone$za_adnotacje)==0,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności \"#\" współtwórcy z pola 700)",paste(polaczone$za_adnotacje,"UWAGA! Ze względu na konflikt w opisie współtwórców wybierz właściwą wartość (strefa odpowiedzialności # współtwórcy z pola 700)",sep = "# ")),as.character(polaczone$za_adnotacje))

out <- cSplit(polaczone, c("am_autor_id", "am_nazwisko", "am_imie","os_osoba_id","os_nazwisko", "os_imie", "fo_symbol","wy_wydawnictwo_id","wy_miejsce","wy_nazwa"),sep = "|",direction = "long") %>%
  unique()

out$rekord_BN <- ifelse(is.na(out$rekord_BN),'',as.character(out$rekord_BN))
out$rz_nazwa <- ifelse(is.na(out$rz_nazwa),'',as.character(out$rz_nazwa))
out$za_ro_rok <- ifelse(is.na(out$za_ro_rok),'',as.character(out$za_ro_rok))
out$za_type <- ifelse(is.na(out$za_type),'',as.character(out$za_type))
out$rz_rodzaj_id <- ifelse(is.na(out$rz_rodzaj_id),'',as.character(out$rz_rodzaj_id))
out$DZ_NAZWA <- ifelse(is.na(out$DZ_NAZWA),'',as.character(out$DZ_NAZWA))
out$DZ_DZIAL_ID <- ifelse(is.na(out$DZ_DZIAL_ID),'',as.character(out$DZ_DZIAL_ID))
out$tw_tworca_id <- ifelse(is.na(out$tw_tworca_id),'',as.character(out$tw_tworca_id))
out$am_autor_id <- ifelse(is.na(out$am_autor_id),'',as.character(out$am_autor_id))
out$am_nazwisko <- ifelse(is.na(out$am_nazwisko),'',as.character(out$am_nazwisko))
out$am_imie <- ifelse(is.na(out$am_imie),'',as.character(out$am_imie))
out$za_tytul <- ifelse(is.na(out$za_tytul),'',as.character(out$za_tytul))
out$za_tytul_oryginalu <- ifelse(is.na(out$za_tytul_oryginalu),'',as.character(out$za_tytul_oryginalu))
out$za_jezyk_oryginalu <- ifelse(is.na(out$za_jezyk_oryginalu),'',as.character(out$za_jezyk_oryginalu))
out$os_osoba_id <- ifelse(is.na(out$os_osoba_id),'',as.character(out$os_osoba_id))
out$os_nazwisko <- ifelse(is.na(out$os_nazwisko),'',as.character(out$os_nazwisko))
out$os_imie <- ifelse(is.na(out$os_imie),'',as.character(out$os_imie))
out$fo_symbol <- ifelse(is.na(out$fo_symbol),'',as.character(out$fo_symbol))
out$za_opis_wspoltworcow <- ifelse(is.na(out$za_opis_wspoltworcow),'',as.character(out$za_opis_wspoltworcow))
out$za_wydanie <- ifelse(is.na(out$za_wydanie),'',as.character(out$za_wydanie))
out$za_tomy <- ifelse(is.na(out$za_tomy),'',as.character(out$za_tomy))
out$za_instytucja <- ifelse(is.na(out$za_instytucja),'',as.character(out$za_instytucja))
out$wy_wydawnictwo_id <- ifelse(is.na(out$wy_wydawnictwo_id),'',as.character(out$wy_wydawnictwo_id))
out$wy_miejsce <- ifelse(is.na(out$wy_miejsce),'',as.character(out$wy_miejsce))
out$wy_nazwa <- ifelse(is.na(out$wy_nazwa),'',as.character(out$wy_nazwa))
out$za_rok_wydania <- ifelse(is.na(out$za_rok_wydania),'',as.character(out$za_rok_wydania))
out$za_opis_fizyczny_ksiazki <- ifelse(is.na(out$za_opis_fizyczny_ksiazki),'',as.character(out$za_opis_fizyczny_ksiazki))
out$za_seria_wydawnicza <- ifelse(is.na(out$za_seria_wydawnicza),'',as.character(out$za_seria_wydawnicza))
out$tw_nazwisko <- ifelse(is.na(out$tw_nazwisko),'',as.character(out$tw_nazwisko))
out$tw_imie <- ifelse(is.na(out$tw_imie),'',as.character(out$tw_imie))
out$pracownik <- ifelse(is.na(out$pracownik),'',as.character(out$pracownik))
out$za_adnotacje <- ifelse(is.na(out$za_adnotacje),'',as.character(out$za_adnotacje))
out$BN_URL <- ifelse(is.na(out$BN_URL),'',as.character(out$BN_URL))

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same
out$same[1] <- 0
out$dzielone <- paste(out$am_autor_id,out$am_nazwisko,out$am_imie,out$os_osoba_id,out$os_nazwisko,out$os_imie,out$fo_symbol,out$wy_wydawnictwo_id,out$wy_miejsce,out$wy_nazwa,sep = "")

out <- out %>%
  filter(!(same==1&dzielone=="")) %>%
  select(1:33)

out %$%  
    { rekord_BN==lag(rekord_BN,) & rz_nazwa==lag(rz_nazwa,) & za_ro_rok==lag(za_ro_rok,) & za_type==lag(za_type,) & rz_rodzaj_id==lag(rz_rodzaj_id,) & DZ_NAZWA==lag(DZ_NAZWA,) & DZ_DZIAL_ID==lag(DZ_DZIAL_ID,) & tw_tworca_id==lag(tw_tworca_id,) & za_tytul==lag(za_tytul,) & za_tytul_oryginalu==lag(za_tytul_oryginalu,) & za_jezyk_oryginalu==lag(za_jezyk_oryginalu,) & za_opis_wspoltworcow==lag(za_opis_wspoltworcow,) & za_wydanie==lag(za_wydanie,) & za_tomy==lag(za_tomy,) & za_instytucja==lag(za_instytucja,) & za_rok_wydania==lag(za_rok_wydania,) & za_opis_fizyczny_ksiazki==lag(za_opis_fizyczny_ksiazki,) & za_seria_wydawnicza==lag(za_seria_wydawnicza,) & tw_nazwisko==lag(tw_nazwisko,) & tw_imie==lag(tw_imie,) & pracownik==lag(pracownik,) & za_adnotacje==lag(za_adnotacje,) & BN_URL==lag(BN_URL,)} %>% 
    as.numeric() %>% 
    {.} -> out$same

#ucięcie zbyt długich ciągów znaków, by weszły do oracle'a
dlugosci <- data.frame(pole = c("am_nazwisko", "am_imie", "za_tytul", "za_tytul_oryginalu", "za_jezyk_oryginalu", "os_nazwisko", "os_imie", "za_opis_wspoltworcow", "za_instytucja", "wy_miejsce", "wy_nazwa", "za_opis_fizyczny_ksiazki", "za_seria_wydawnicza", "tw_nazwisko", "tw_imie", "za_adnotacje"), liczba_znakow = c(50,40,500,500,100,50,40,500,255,40,255,1000,255,200,40,2000))
x <- match(dlugosci$pole,names(out))
for (i in x) {
  progress(match(i,x), max.value = length(x))
  dlugosc <- dlugosci$liczba_znakow[match(names(out[i]),dlugosci$pole)]
  out$za_adnotacje <- ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje!="",paste(out$za_adnotacje,paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),sep = "# "),
                             ifelse(dlugosc<nchar(as.character(out[,i]))&out$za_adnotacje=="",paste("UWAGA! Pole ",as.character(names(out[i]))," było zbyt długie i zostało przycięte. Zredaguj treść pola.",sep = ""),as.character(out$za_adnotacje)))
  
  out[,i] <- ifelse(dlugosc<nchar(as.character(out[,i])),as.character(substr(out[,i],1,dlugosc)),as.character(out[,i]))
}
Progress:  1 on 16  Progress:  2 on 16  Progress:  3 on 16  Progress:  4 on 16  Progress:  5 on 16  Progress:  6 on 16  Progress:  7 on 16  Progress:  8 on 16  Progress:  9 on 16  Progress: 10 on 16  Progress: 11 on 16  Progress: 12 on 16  Progress: 13 on 16  Progress: 14 on 16  Progress: 15 on 16  Progress: 16 on 16  
out$rekord_BN[out$same == 1] <- ""
out$rz_nazwa[out$same == 1] <- ""
out$za_ro_rok[out$same == 1] <- ""
out$za_type[out$same == 1] <- ""
out$rz_rodzaj_id[out$same == 1] <- ""
out$DZ_NAZWA[out$same == 1] <- ""
out$DZ_DZIAL_ID[out$same == 1] <- ""
out$tw_tworca_id[out$same == 1] <- ""
out$za_tytul[out$same == 1] <- ""
out$za_tytul_oryginalu[out$same == 1] <- ""
out$za_jezyk_oryginalu[out$same == 1] <- ""
out$za_opis_wspoltworcow[out$same == 1] <- ""
out$za_wydanie[out$same == 1] <- ""
out$za_tomy[out$same == 1] <- ""
out$za_instytucja[out$same == 1] <- ""
out$za_rok_wydania[out$same == 1] <- ""
out$za_opis_fizyczny_ksiazki[out$same == 1] <- ""
out$za_seria_wydawnicza[out$same == 1] <- ""
out$tw_nazwisko[out$same == 1] <- ""
out$tw_imie[out$same == 1] <- ""
out$pracownik[out$same == 1] <- ""
out$za_adnotacje[out$same == 1] <- ""
out$BN_URL[out$same == 1] <- ""

out <- out %>%
  select(1:33)

#pętla zapisująca po ok. 2000 wierszy z uwzględnieniem kompletności rekordów bibliograficznych rozpisanych na kilka wierszy
out <- out %>%
  mutate(podzial = ifelse(rekord_BN!="",as.character(rekord_BN),NA)) %>%
  fill(podzial)
ile <- unique(out$podzial)
ile <- split(unique(ile), ceiling(seq_along(unique(ile))/1500))
x <- 1:length(ile)
for (i in x) {
  progress(match(i,x), max.value = length(x))
  final <- out %>%
    filter(podzial %in% ile[[i]]) %>%
    select(-podzial)
  write.xlsx(final, paste("C:/Users/",employee_name,"/Desktop/",import_year,"_antologie_do_importu",i,".xlsx",sep = ""),sheetName = "gotowe")
}
Progress: 1 on 1  
bn_ok <- chunk11
data <- bn_ok %>%
  filter(rodzaj_ksiazki=="współwydanie") %>%
  mutate(redaktor_dzialu = paste(redaktor_dzialu,"_wsp",sep = ""))

#uwolnienie kolumn z danymi z bn i przetworzenie do PBL
#1: za_uwagi, rz_nazwa, za_ro_rok, za_type, rz_rodzaj_id, tw_tworca_id, tw_nazwisko, tw_imie, dz_dzial_id, dz_nazwa, redaktor_dzialu
pola_pbl <- data %>%
  select(ZA_UWAGI, RZ_NAZWA, ZA_RO_ROK = rok, RZ_RODZAJ_ID, TW_TWORCA_ID, TW_NAZWISKO, TW_IMIE, DZ_DZIAL_ID, DZ_NAZWA, redaktor_dzialu) %>%
  mutate(ZA_TYPE = "KS")

#2: autor
BN_autor <- data %>% 
  select(ZA_UWAGI,X245) %>% 
  mutate(X245 = str_extract(X245, "(?<=\\/\\$c)(.*?)(?= ;|$)"),
         X245 = str_remove(X245,"\\.$"),
         X245 = str_remove(X245,"\\["),
         X245 = str_remove(X245,"\\]"),
         AM_NAZWISKO = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),as.character(X245),str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\3")),
         AM_IMIE = ifelse(grepl(" [a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźž\\.]* ",X245),"*",str_replace(X245,"(^.*?)( )(?!.* )(.*$)","\\1")),
         nazwa = str_replace_all(str_to_lower(paste(AM_NAZWISKO,AM_IMIE, sep = "")), "\\W", "")) %>%
  left_join(.,PBL_autorzy %>% select(AM_AUTOR_ID,AM_KRYPTONIM,AM_LICZBA_ZAPISOW,nazwa) %>% filter(is.na(AM_KRYPTONIM)),by="nazwa") %>%
  arrange(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,-AM_LICZBA_ZAPISOW)
BN_autor$id_grupy <- cumsum(!duplicated(BN_autor[1:4]))
BN_autor <- BN_autor[!duplicated(BN_autor$id_grupy),] %>%
  mutate(ZA_ADNOTACJE = NA) %>% 
  select(ZA_UWAGI,AM_NAZWISKO,AM_IMIE,ZA_ADNOTACJE,AM_AUTOR_ID)

#3: tytuł
#pole 245
marc_field_245 <- data %>%
  select(ZA_UWAGI,X245)%>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"~"),
         X245=str_replace_all(X245,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X245",sep = "~",direction = "long") %>%
  filter(X245!="") %>%
  mutate(X245=str_remove_all(X245,"^\\|")) %>%
  mutate(indicator = str_replace_all(X245,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X245,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_245)[1]))
colnames(empty_table) <-subfield_list
marc_field_245<-cbind(marc_field_245,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_245$X245 <- str_replace(marc_field_245$X245,subfield_list_char[i],"|\\1")
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_245[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_245$X245),str_replace_all(gsub(string,"\\3",marc_field_245$X245),"\\${2}.", "~"),NA)
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
if("$n" %in% colnames(marc_field_245)) {
marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " "),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = " "),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  unite("ZA_TYTUL",`$a`:`$p`,sep = " ",na.rm = TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
         ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
         ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
         ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
  select(ZA_UWAGI,ZA_TYTUL)
} else {
  marc_field_245 <- marc_field_245 %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = " "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = " ")) %>%
  ungroup() %>%
  unique() %>%
  unite("ZA_TYTUL",`$a`:`$b`,sep = " ",na.rm = TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL," +"," "),
         ZA_TYTUL = str_remove(ZA_TYTUL, "\\s+\\/\\s{0,}$"),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,ZA_TYTUL),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,ZA_TYTUL),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)",ZA_TYTUL),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( )(.)","\\1.\\2\\U\\5",perl = TRUE,ZA_TYTUL),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",ZA_TYTUL),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,ZA_TYTUL),as.character(ZA_TYTUL))))),
         ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\.{3} \\.{3}","... "),
         ZA_TYTUL = str_replace_all(ZA_TYTUL," ; ",". "),
         ZA_TYTUL = gsub("( : )(.)",". \\U\\2",perl=TRUE,ZA_TYTUL)) %>%
  select(ZA_UWAGI,ZA_TYTUL)
}
tytul_wspolwydanie <- marc_field_245
#dopisanie gatunku do przedmiotowej na podstawie 655 i 650  
gatunki_pbl <- data.frame(gatunek = c("aforyzm", "album", "antologia", "autobiografia", "dziennik", "esej", "felieton", "inne", "kazanie", "list", "miniatura prozą", "opowiadanie", "poemat", "powieść", "proza", "proza poetycka", "reportaż", "rozmyślanie religijne", "rysunek, obraz", "scenariusz", "szkic", "tekst biblijny", "tekst dramatyczny", "dramat", "wiersz", "wspomnienia", "wypowiedź", "pamiętniki", "poezja", "literatura podróżnicza", "satyra", "piosenka"))

#dramat, pamiętniki, poezja, literatura podróżnicza, satyra, piosenka
gatunki_bn <- data %>%
  select(ZA_UWAGI,X655,X650)

gatunki_bn <- sqldf("select *
                    from gatunki_bn
                    left join gatunki_pbl on lower(gatunki_bn.X655) like '%'||gatunki_pbl.gatunek||'%'")
gatunki_bn <- sqldf("select *
                      from gatunki_bn
                      left join gatunki_pbl on lower(gatunki_bn.X650) like '%'||gatunki_pbl.gatunek||'%'")
colnames(gatunki_bn)[5] <- "gatunek2"
gatunki_bn <- gatunki_bn %>%
  mutate(gatunek = ifelse(is.na(gatunek)&!is.na(gatunek2),as.character(gatunek2),as.character(gatunek)),
         gatunek = ifelse(grepl("przypowieść",X655,ignore.case = TRUE)&!grepl("[^y]powieść",X655)&gatunek=="powieść","opowiadanie",as.character(gatunek))) %>%
  filter(!is.na(gatunek)) %>%
  select(ZA_UWAGI,gatunek) %>%
  mutate(gatunek = ifelse(gatunek=="dramat","tekst dramatyczny",
                          ifelse(gatunek=="pamiętniki","wspomnienia",
                                 ifelse(gatunek=="poezja","wiersz",
                                        ifelse(gatunek=="literatura podróżnicza","reportaż",
                                               ifelse(gatunek=="piosenka","wiersz",as.character(gatunek))))))) %>%
  group_by(ZA_UWAGI) %>%
  mutate(gatunek = paste(gatunek,collapse = ", ")) %>%
  ungroup() %>%
  unique() %>%
  mutate(gatunek = gsub("(^.)","\\U\\1",perl = TRUE, gatunek))
#połączenie tytułu z gatunkiem
za_tytul <- marc_field_245 %>%
  left_join(.,gatunki_bn,by="ZA_UWAGI") %>% 
  mutate(gatunek = paste("[",gatunek,"]",sep = ""),
         gatunek = ifelse(gatunek=="[NA]",NA,as.character(gatunek))) %>% 
  unite("ZA_TYTUL", ZA_TYTUL:gatunek, sep = ". ",na.rm=TRUE) %>% 
  mutate(ZA_TYTUL = str_replace_all(ZA_TYTUL,"\\. \\.",". "),
         ZA_TYTUL = str_replace(ZA_TYTUL,"(\\!)(\\.)|(\\?)(\\.)","\\1"))

#4: tytuł oryginału
#pole 246
marc_field_246 <- data %>%
  select(ZA_UWAGI,X246)%>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"~"),
         X246=str_replace_all(X246,"(^|\\|)","~\\1")) %>%
  cSplit(.,"X246",sep = "~",direction = "long") %>%
  filter(X246!="") %>%
  mutate(X246=str_remove_all(X246,"^\\|")) %>%
  mutate(indicator = str_replace_all(X246,"(^.*?)(\\$.*)","\\1"))
subfield_list<- str_extract_all(data$X246,"\\$.")
subfield_list<- unique(unlist(subfield_list))
empty_table<- data.frame(matrix(ncol = length(subfield_list),nrow = lengths(marc_field_246)[1]))
colnames(empty_table) <-subfield_list
marc_field_246<-cbind(marc_field_246,empty_table)
subfield_list_char <- paste("(",subfield_list,")",sep = "")
subfield_list_char <- str_replace_all(subfield_list_char,"\\$","\\\\$")

x <- 1:length(subfield_list)
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  marc_field_246$X246 <- str_replace(marc_field_246$X246,subfield_list_char[i],"|\\1")
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
for (i in x) {
  progress(match(i,x), max.value = length(x)) 
  subfield_list_char2 <- str_replace_all(subfield_list,"\\$","\\\\$")
  string_a <- "(^)(.*?\\|"
  string_b <- subfield_list_char2[i]
  string_c <- ")(.*?)(\\,{0,1})((\\|\\$)(.*)|$)"
  string <- paste(string_a,string_b,string_c,sep = "")
  marc_field_246[,i+3] <- ifelse(grepl(subfield_list_char2[i],marc_field_246$X246),str_replace_all(gsub(string,"\\3",marc_field_246$X246),"\\${2}.", "~"),NA)
}
Progress: 1 on 3  Progress: 2 on 3  Progress: 3 on 3  
if("$n" %in% colnames(marc_field_246)) {
marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`,`$n`,`$p`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = ""),
         `$n` = paste(ifelse(is.na(`$n`),"",as.character(`$n`)),collapse = ""),
         `$p` = paste(ifelse(is.na(`$p`),"",as.character(`$p`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$p`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
} else {
  marc_field_246 <- marc_field_246[, colSums(is.na(marc_field_246)) != nrow(marc_field_246)] %>%
  filter(grepl("oryg",X246)) %>%
  select(ZA_UWAGI,`$a`,`$b`) %>%
  group_by(ZA_UWAGI) %>%
  mutate(`$a` = paste(ifelse(is.na(`$a`),"",as.character(`$a`)),collapse = ", "),
         `$b` = paste(ifelse(is.na(`$b`),"",as.character(`$b`)),collapse = "")) %>%
  ungroup() %>%
  unique() %>%
  unite("X246",`$a`:`$b`,sep = " ",na.rm = TRUE) %>% 
  mutate(X246 = str_replace_all(X246," +"," "),
         X246 = str_remove(X246, "\\s+\\/\\s{0,}$"),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( )(.)",X246),gsub("(\\W)( )(:|;)( )(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(\\(|\\[)(.)","\\1.\\2\\5\\U\\6",perl=TRUE,X246),
                           ifelse(grepl("(\\W)( )(:|;)( )(\\(|\\[)(.)",X246),gsub("(\\W)( )(:|;)( )(\\(|\\[)(.)","\\1\\2\\U\\5\\6",perl = TRUE,X246),
                                  ifelse(grepl("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)",X246),gsub("([a-zaáàâãäăāåąæeéèêëěēėęiíìîïīįioóòôõöőøœuúùûüűūůyýcćčçdďđđgģğkķlłļnńñňņŋrřsśšşsßtťŧþţzżźžIVX])( )(:|;)( ){0,1}(.)","\\1.\\2\\U\\5",perl = TRUE,X246),
                                         ifelse(grepl("(\\W)( )(:|;)( ){0,1}(.)",X246),gsub("(\\W)( )(:|;)( ){0,1}(.)","\\1\\2\\U\\5",perl = TRUE,X246),as.character(X246))))),
         X246 = str_replace_all(X246,"\\.{3} \\.{3}","... "),
         X246 = gsub("( : )(.)",". \\U\\2",perl=TRUE,X246)) %>%
  select(ZA_UWAGI, X246)
}
Błąd w poleceniu '.f(.x[[i]], ...)':nie znaleziono obiektu '$b'

bezpiecznik UWAGA! Najpierw należy przeprowadzić import do bazy, a następnie egzekwować poniższą część kodu

#automatyczny IOK dla rekordów bibliograficznych

nadpisanie_zapisow_IOK <- read.csv2(paste("C:/Users/",employee_name,"/Desktop/imp_",import_year,"_automatyczne_podmiotowe.csv",sep = ""), encoding = "UTF-8", header = TRUE, stringsAsFactors = FALSE)

nadpisanie_zapisow_IOK <- nadpisanie_zapisow_IOK %>%
  mutate(rekord_BN = as.character(rekord_BN)) %>% 
  left_join(.,dbGetQuery(PBL,
                             "select z.za_zapis_id, z.za_status_imp, z.za_uwagi
                              from pbl_zapisy z
                              where za_uwagi like 'BN: %'
                              and z.za_url_bn is not null") %>% mutate(ZA_UWAGI = str_extract(ZA_UWAGI,"(?<=BN: )(.*?)(?=, import)")),by=c("rekord_BN"="ZA_UWAGI")) %>% 
  filter(grepl(paste("^BN\\: ",2010, sep = ""),rekord_BN)) %>% 
  rename(jest = ZA_STATUS_IMP) %>% 
  mutate(ID2 = NA) %>% 
  select(ZA_ZAPIS_ID,ID2,jest,powinno_byc)

write.xlsx(nadpisanie_zapisow_IOK, paste("C:/Users/",employee_name,"/Desktop/",import_year,"_nadpisanie_zapisow_IOK.xlsx",sep = ""),sheetName = "ZA_STATUS_IMP")

#bezpiecznik
#automatyczny IOK dla nowych twórców w kartotece powinien zostać przeprowadzony z poziomu importera

#automatycznie nadpisać rekordy bibliograficzne i kartoteczne przed kolejnym krokiem

#bezpiecznik
#jeśli podczas importu nie da się zaimportować rekordów - wprowadź je ręcznie w tym momencie
#kolumnę BN-URL należy nadpisać automatycznie
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KVVdBR0EhDQpXeWN6ecWbY2nEhyBsaXN0xJkgbWFwb3dhbmllX29zb2JfYm5fcGJsX3BvX2ltcG9yY2llICh6YSBkdcW8byBuaWVwb3ByYXdueWNoIHJlbGFjamkgcGJsLWJuIHBvIG9zdGF0bmltIGltcG9yY2llKQ0KUHJ6ZWQgcm96cG9jesSZY2llbSBwcmFjeSB6YWt0dWFsaXp1aiB6Z29kbmllIHogb2JlY255bSBzdGFuZW0gYmF6eSBsaXN0xJkga3NpxIXFvGVrIG5hIGR5c2t1IHphIHBvcHJ6ZWRuaSByb2N6bmlrLg0KUHJ6ZWQgcm96cG9jesSZY2llbSBwcmFjeSB3eXN6dWthaiBmcmF6eSAiYmV6cGllY3puaWsiIGkgImFrdHVhbGl6YWNqYSIuDQpgYGB7ciBXY3p5dGFuaWUgcGxpa8Ozd30NCiNpbnN0YWxsLnBhY2thZ2VzKGMoInV0ZjgiLCJnb29nbGVzaGVldHM0Iiwiem9vIiwic3RyaW5nciIsInNwbGl0c3RhY2tzaGFwZSIsInBseXIiLCJkcGx5ciIsInNxbGRmIiwic3RyaW5nZGlzdCIsImZ1enp5am9pbiIsImRhdGEudGFibGUiLCJzdk1pc2MiLCJ0aWR5dmVyc2UiLCJSSkRCQyIsImFycmFuZ2VtZW50cyIsInRva2VuaXplcnMiLCJvcGVueGxzeCIsImpzb25saXRlIiwicGFjbWFuIikpDQojZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJyLWxpYi9nYXJnbGUiKQ0KZW1wbG95ZWVfbmFtZSA8LSByZWFkbGluZShwcm9tcHQ9IkVudGVyIG5hbWU6ICIpDQppbXBvcnRfeWVhciA8LSByZWFkbGluZShwcm9tcHQ9IkVudGVyIHllYXI6ICIpDQojYmlibGlvdGVraQ0Kb3B0aW9ucyhqYXZhLnBhcmFtZXRlcnMgPSAiLVhteDMyMDAwbSIpDQpvcHRpb25zKHNjaXBlbiA9IDk5OSkNCnBhY21hbjo6cF9sb2FkKHV0ZjgsZ29vZ2xlc2hlZXRzNCx6b28sc3RyaW5ncixzcGxpdHN0YWNrc2hhcGUscGx5cixkcGx5cixzcWxkZixzdHJpbmdkaXN0LGZ1enp5am9pbixkYXRhLnRhYmxlLHN2TWlzYyx0aWR5dmVyc2UsUkpEQkMsYXJyYW5nZW1lbnRzLHRva2VuaXplcnMsb3Blbnhsc3gsanNvbmxpdGUpDQpgJW5vdGluJWAgPC0gTmVnYXRlKGAlaW4lYCkNCiNwb8WCxIVjemVuaWUgeiBiYXrEhSBQQkwNCmpkYmNEcml2ZXIgPUpEQkMoIm9yYWNsZS5qZGJjLk9yYWNsZURyaXZlciIsY2xhc3NQYXRoPXBhc3RlKCJDOi9Vc2Vycy8iLGVtcGxveWVlX25hbWUsIi9Eb3dubG9hZHMvb2pkYmM2LmphciIsc2VwID0gIiIpKQ0KUEJMIDwtIGRiQ29ubmVjdChqZGJjRHJpdmVyLCAiamRiYzpvcmFjbGU6dGhpbjpALy9wYmwuaWJsLnBvem5hbi5wbDoxNTIxL3hlIiwgIklCTF9TRUxFQ1QiLCAiQ1IzMzM0NDQiKQ0KDQojd2dyYW5pZSB6YmlvcsOzdyBrc2nEhcW8ZWsNCmJuX2tzIDwtIHJlYWQuY3N2MihwYXN0ZSgiQzovVXNlcnMvIixlbXBsb3llZV9uYW1lLCIvRG93bmxvYWRzL2JuX2tzXyIsaW1wb3J0X3llYXIsIi5jc3YiLHNlcCA9ICIiKSwgZW5jb2RpbmcgPSAiVVRGLTgiLCBoZWFkZXIgPSBUUlVFLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpICU+JQ0KICBtdXRhdGUocm9rID0gc3RyX3N1YihYMDA4LDgsMTEpKSAlPiUgDQogIGZpbHRlcihyb2sgPT0gaW1wb3J0X3llYXIsDQogICAgICAgICAhZ3JlcGwoIlxcXFwkYUFydHlrdcWCeXxcXFxcJERydWtpIHVsb3RuZSIsWDM4MCksDQogICAgICAgICAhZ3JlcGwoIlxcJGFOYWRiaXRraSBpIG9kYml0a2kiLFg2NTUpLA0KICAgICAgICAgZ3JlcGwoIktzacSFxbxraSIsWDM4MCxpZ25vcmUuY2FzZSA9IEZBTFNFKXxYMzgwPT0iIiwNCiAgICAgICAgIGdyZXBsKCJcXCRhV0F8XFwkYVcgIixYMDQwKSwNCiAgICAgICAgIFg2NTUhPSJcXDckYUtvbWlrcyQyREJOIikgJT4lDQogIG11dGF0ZShYMjQ1ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiBcXC8gXFwkYyIsIiAvJGMiKSwNCiAgICAgICAgIEJOX1VSTCA9IHBhc3RlKCJodHRwczovL2thdGFsb2dpLmJuLm9yZy5wbC9kaXNjb3ZlcnkvZnVsbGRpc3BsYXk/ZG9jaWQ9YWxtYSIsYXMuY2hhcmFjdGVyKFgwMDkpLCImY29udGV4dD1MJnZpZD00OE9NTklTX05MT1A6NDhPTU5JU19OTE9QJmxhbmc9cGwiLHNlcCA9ICIiKSwNCiAgICAgICAgIEJOX1VSTCA9IHN0cl9yZXBsYWNlKEJOX1VSTCwiODgmIiwiNjYmIikpDQoNCiMjIyBwcnplbmllxZvEhyBrb2xlam55Y2ggYXV0b3LDs3cgeiA3MDAgZG8gcG9sYSAxMDANCm1hcmNfZmllbGRfNzAwIDwtIGJuX2tzICU+JQ0KICBzZWxlY3QoaWQsWDcwMCklPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDcwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNzAwIT0iIikgJT4lDQogIG11dGF0ZShYNzAwPXN0cl9yZW1vdmVfYWxsKFg3MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChibl9rcyRYNzAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNzAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzcwMDwtY2JpbmQobWFyY19maWVsZF83MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCg0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF83MDAkWDcwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzcwMCRYNzAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzcwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzcwMCRYNzAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF83MDAkWDcwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQptYXJjX2ZpZWxkXzcwMCA8LSBtYXJjX2ZpZWxkXzcwMCAlPiUNCiAgZmlsdGVyKGlzLm5hKGAkZWApJmlzLm5hKGAkdGApKSAlPiUNCiAgc2VsZWN0KGlkLCBYNzAwKSAlPiUNCiAgbXV0YXRlKGRydWdpX2F1dG9yID0gc3RyX3JlbW92ZV9hbGwoWDcwMCwiXFx8IikpICU+JQ0KICBzZWxlY3QoaWQsZHJ1Z2lfYXV0b3IpDQoNCmRydWdpX2F1dG9yIDwtIGJuX2tzICU+JQ0KICBmdWxsX2pvaW4oLixtYXJjX2ZpZWxkXzcwMCxieSA9ICJpZCIpICU+JQ0KICBzZWxlY3QoaWQsWDEwMCxYNzAwLGRydWdpX2F1dG9yKSAlPiUNCiAgZ3JvdXBfYnkoaWQpICU+JQ0KICBtdXRhdGUoWDEwMCA9IGlmZWxzZSghaXMubmEoZHJ1Z2lfYXV0b3IpLHN0cl9yZW1vdmUocGFzdGUoWDEwMCxwYXN0ZShkcnVnaV9hdXRvcixjb2xsYXBzZSA9ICJ8Iiksc2VwID0gInwiKSwiXlxcfCIpLGFzLmNoYXJhY3RlcihYMTAwKSksDQogICAgICAgICBkcnVnaV9hdXRvciA9IGxpc3QoZHJ1Z2lfYXV0b3IpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKQ0KICANCnggPC0gMTpsZW5ndGgoZHJ1Z2lfYXV0b3IkaWQpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHkgPC0gMTpsZW5ndGhzKGRydWdpX2F1dG9yJGRydWdpX2F1dG9yW2ldKQ0KICBmb3IgKGogaW4geSkgew0KICAgIGRydWdpX2F1dG9yJFg3MDBbaV0gPC0gaWZlbHNlKGlzLm5hKGRydWdpX2F1dG9yJGRydWdpX2F1dG9yW2ldKSxhcy5jaGFyYWN0ZXIoZHJ1Z2lfYXV0b3IkWDcwMFtpXSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoc3RyX3JlcGxhY2VfYWxsKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVwbGFjZV9hbGwoc3RyX3JlcGxhY2VfYWxsKGRydWdpX2F1dG9yJGRydWdpX2F1dG9yW2ldW1sxXV1bal0sIlxcXFwiLCJcXFxcXFxcXCIpLCJcXCQiLCJcXFxcJCIpLCJcXCgiLCJcXFxcKCIpLCJcXCkiLCJcXFxcKSIpLGRydWdpX2F1dG9yJFg3MDBbaV0pLHN0cl9yZW1vdmUoZHJ1Z2lfYXV0b3IkWDcwMFtpXSxzdHJfcmVwbGFjZV9hbGwoc3RyX3JlcGxhY2VfYWxsKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVwbGFjZV9hbGwoZHJ1Z2lfYXV0b3IkZHJ1Z2lfYXV0b3JbaV1bWzFdXVtqXSwiXFxcXCIsIlxcXFxcXFxcIiksIlxcJCIsIlxcXFwkIiksIlxcKCIsIlxcXFwoIiksIlxcKSIsIlxcXFwpIikpLGFzLmNoYXJhY3RlcihkcnVnaV9hdXRvciRYNzAwW2ldKSkpDQogIH0NCn0NCg0KZHJ1Z2lfYXV0b3IgPC0gZHJ1Z2lfYXV0b3IgJT4lDQogIG11dGF0ZShYNzAwID0gc3RyX3JlcGxhY2VfYWxsKFg3MDAsIihcXHwpKyIsInwiKSwNCiAgICAgICAgIFg3MDAgPSBzdHJfcmVtb3ZlKFg3MDAsIlxcfHwkIiksDQogICAgICAgICBYNzAwID0gaWZlbHNlKFg3MDA9PSJ8IiwiIixhcy5jaGFyYWN0ZXIoWDcwMCkpKSAlPiUNCiAgc2VsZWN0KGlkLFgxMDAsWDcwMCkNCmJuX2tzIDwtIGJuX2tzICU+JQ0KICBtdXRhdGUoWDEwMCA9IGRydWdpX2F1dG9yJFgxMDAsDQogICAgICAgICBYNzAwID0gZHJ1Z2lfYXV0b3IkWDcwMCkNCiMja29uaWVjIHByemVub3Npbg0KY2h1bmsxIDwtIGJuX2tzDQpgYGANCg0KYGBge3IgZ2VuZXJvd2FuaWUgbGlzdHkgemFwaXNvdyB6IG9zb2JhbWkgUEJMfQ0KYm5fa3MgPC0gY2h1bmsxDQojd2N6eXRhbmllIGxpc3R5IHV0b8W8c2FtaW9ueWNoIHR3w7NyY8OzdyB6IGF1dG9yYW1pIEJODQojYmV6cGllY3puaWs6IHXFvHnEhyBzaGVldHNfYXV0aCgpIHoga29uc29saQ0KcGJsX3ZpYWYgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMWNFejczZEdOMnIyLVRUYzcwMnluZTl0S2ZIOVBRNlV5QUoyekJTVjZKYjAiKSAlPiUNCiAgZmlsdGVyKGN6eV90ZW5fc2FtIT0ibmllIikgJT4lDQogIHNlbGVjdChwYmxfaWQsIEJOX2lkLCBCTl9uYW1lKSAlPiUNCiAgbXV0YXRlKEJOX25hbWUgPSBzdHJfcmVwbGFjZV9hbGwoQk5fbmFtZSwiXFx8XFwoIiwgIiAoIiksDQogICAgICAgICBCTl9uYW1lID0gc3RyX3JlcGxhY2VfYWxsKEJOX25hbWUsICJcXDtcXHwiLCAiOyAiKSkgJT4lDQogIGNTcGxpdCguLCJCTl9uYW1lIixzZXAgPSAifCIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKEJOX25hbWUhPSIiKQ0KcGJsX3ZpYWYyIDwtIHNoZWV0c19yZWFkKHNzID0gIjFfQmh3em8weHU0eVRuOHRGMFpOQVpxOWlJQXFJeGZjcmplTFZDbV9tZ2dNIikgJT4lDQogIGZpbHRlcihjenlfdGVuX3NhbSE9Im5pZSIpICU+JQ0KICBzZWxlY3QocGJsX2lkLCBCTl9pZCwgQk5fbmFtZSkgJT4lDQogIG11dGF0ZShCTl9uYW1lID0gc3RyX3JlcGxhY2VfYWxsKEJOX25hbWUsIlxcfFxcKCIsICIgKCIpLA0KICAgICAgICAgQk5fbmFtZSA9IHN0cl9yZXBsYWNlX2FsbChCTl9uYW1lLCAiXFw7XFx8IiwgIjsgIikpICU+JQ0KICBjU3BsaXQoLiwiQk5fbmFtZSIsc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihCTl9uYW1lIT0iIikNCnBibF92aWFmMyA8LSBzaGVldHNfcmVhZChzcyA9ICIxTC03WnY5RXlMcjVGZUNJWV9zOTByVDVIejZEakFTY0N4Nk54ZnVIdm9FUSIpICU+JQ0KICBmaWx0ZXIoY3p5X3Rlbl9zYW0hPSJuaWUiKSAlPiUNCiAgc2VsZWN0KHBibF9pZCwgQk5faWQsIEJOX25hbWUpICU+JQ0KICBtdXRhdGUoQk5fbmFtZSA9IHN0cl9yZXBsYWNlX2FsbChCTl9uYW1lLCJcXHxcXCgiLCAiICgiKSwNCiAgICAgICAgIEJOX25hbWUgPSBzdHJfcmVwbGFjZV9hbGwoQk5fbmFtZSwgIlxcO1xcfCIsICI7ICIpKSAlPiUNCiAgY1NwbGl0KC4sIkJOX25hbWUiLHNlcCA9ICJ8IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoQk5fbmFtZSE9IiIpDQpwYmxfdmlhZiA8LSByYmluZChwYmxfdmlhZixwYmxfdmlhZjIsIHBibF92aWFmMykgJT4lDQogIGFycmFuZ2UocGJsX2lkKSAlPiUNCiAgdW5pcXVlKCkNCnJlbW92ZShwYmxfdmlhZjIpDQpyZW1vdmUocGJsX3ZpYWYzKQ0KDQojYmV6cGllY3puaWshDQojc3ByYXdkxbosIGN6eSBqZWRubyBoYXPFgm8gYm4gbmllIHphc2lsYSBraWxrdSBoYXNlxYIgdHfDs3Jjw7N3IHBibA0KDQojIHBibF92aWFmX3Rlc3QxIDwtIHNoZWV0c19yZWFkKHNzID0gIjFjRXo3M2RHTjJyMi1UVGM3MDJ5bmU5dEtmSDlQUTZVeUFKMnpCU1Y2SmIwIikgJT4lDQojICBmaWx0ZXIoY3p5X3Rlbl9zYW0hPSJuaWUiKSAlPiUNCiMgIHNlbGVjdChwYmxfaWQsIEJOX2lkLCBCTl9uYW1lKQ0KIyBwYmxfdmlhZl90ZXN0MiA8LSBzaGVldHNfcmVhZChzcyA9ICIxX0Jod3pvMHh1NHlUbjh0RjBaTkFacTlpSUFxSXhmY3JqZUxWQ21fbWdnTSIpICU+JQ0KIyAgZmlsdGVyKGN6eV90ZW5fc2FtIT0ibmllIikgJT4lDQojICBzZWxlY3QocGJsX2lkLCBCTl9pZCwgQk5fbmFtZSkNCiMgcGJsX3ZpYWZfdGVzdDMgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMUwtN1p2OUV5THI1RmVDSVlfczkwclQ1SHo2RGpBU2NDeDZOeGZ1SHZvRVEiKSAlPiUNCiMgICBmaWx0ZXIoY3p5X3Rlbl9zYW0hPSJuaWUiKSAlPiUNCiMgICBzZWxlY3QocGJsX2lkLCBCTl9pZCwgQk5fbmFtZSkNCiMgcGJsX3ZpYWZfdGVzdCA8LSByYmluZChwYmxfdmlhZl90ZXN0MSxwYmxfdmlhZl90ZXN0MixwYmxfdmlhZl90ZXN0MykgJT4lDQojICBhcnJhbmdlKHBibF9pZCkgJT4lDQojICB1bmlxdWUoKQ0KIyANCiMgY291bnQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShwYmxfdmlhZl90ZXN0JEJOX2lkKSkNCiMgcGJsX3ZpYWZfdGVzdF8xIDwtIG1lcmdlKHBibF92aWFmX3Rlc3QsY291bnQsYnkueCA9ICJCTl9pZCIsYnkueSA9ICJWYXIxIixhbGwueCA9IFRSVUUpICU+JQ0KIyAgdW5pcXVlKCkNCg0KI2JlenBpZWN6bmlrIQ0KI3cgb2JpZWtjaWUgcGJsX3ZpYWZfdGVzdF8xIHByenkgZnJla3dlbmNqaSB3acSZa3N6ZWogbmnFvCAxIG5hbGXFvHkgcHJ6ZWFuYWxpem93YcSHIGdydXB5LCBqZcWbbGkgZG8gdGVnbyBzYW1lZ28gaWRlbnR5ZmlrYXRvcmEgcGJsIHByenlwaXNhbmUgc2EgcsOzxbxuZSBpZGVudHlmaWthdG9yeSBibiwga3TDs3JlIGplZG5hayBvcGlzdWrEhSB0xJkgc2FtxIUgb3NvYsSZLCB0byB3c3p5c3RrbyBqZXN0IG9rZWo7IHcgcHJ6ZWNpd255bSByYXppZSB0cnplYmEgcHJ6ZXByb3dhZHppxIcga29yZWt0xJkgdyBwbGlrYWNoICJtYXBvd2FuaWVfb3NvYl9ibl9wYmwiDQoNCiMgY291bnQyIDwtIGFzLmRhdGEuZnJhbWUodGFibGUocGJsX3ZpYWZfdGVzdCRwYmxfaWQpKQ0KIyBwYmxfdmlhZl90ZXN0XzIgPC0gbWVyZ2UocGJsX3ZpYWZfdGVzdCxjb3VudDIsYnkueCA9ICJwYmxfaWQiLGJ5LnkgPSAiVmFyMSIsYWxsLnggPSBUUlVFKSAlPiUNCiMgIHVuaXF1ZSgpDQoNCiNiZXpwaWVjem5payENCiNkbGEgZ3J1cHkgbyBmcmVrd2VuY2ppIHdpxJlrc3plaiBuacW8IDEgc3ByYXdkxbosIGN6eSB3IHplc3Rhd2llIGlkZW50eWZpa2F0b3LDs3cgYm4gbmllIG1hIHJhxbzEhWN5Y2ggYsWCxJlkw7N3OyB3IHByemVjaXdueW0gcmF6aWUgdHJ6ZWJhIHByemVwcm93YWR6acSHIGtvcmVrdMSZIHcgcGxpa2FjaCAibWFwb3dhbmllX29zb2JfYm5fcGJsIg0KDQojdXRvxbxzYW1pYW5pZSBwbyBuYXpld25pY3R3aWUgeiBpbmZvcm1hY2rEhSBvIGR6aWFsZQ0KdHdvcmNhX2lfZHppYWwgPC0gZGJHZXRRdWVyeShQQkwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWxlY3QgdHcudHdfdHdvcmNhX2lkIFwicGJsX2lkXCIsIGR6LmR6X2R6aWFsX2lkfHwnfCd8fGR6LmR6X25hendhIFwib3NvYmFfcGJsX2R6aWFsX2lkX25hbWVcIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBwYmxfdHdvcmN5IHR3DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsIGpvaW4gcGJsX2R6aWFseSBkeiBvbiBkei5kel9kemlhbF9pZD10dy50d19kel9kemlhbF9pZCIpDQoNCiNsaXN0eSBuYXp3aXNrIEJOIHplIHpiaW9ydQ0KIzEwMA0KbWFyY19maWVsZF8xMDAgPC0gYm5fa3MgJT4lDQogIHNlbGVjdChpZCxYMTAwKSU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMTAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlbW92ZV9hbGwoWDEwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGJuX2tzJFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzEwMCA8LSBtYXJjX2ZpZWxkXzEwMCAlPiUNCiAgc2VsZWN0KGlkLGAkYWAsYCRkYCxgJGNgKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBpZmVsc2UoIWlzLm5hKGAkY2ApJnN1YnN0cihgJGNgLG5jaGFyKGAkY2ApLG5jaGFyKGAkY2ApKT09IjsiLHBhc3RlKGAkYWAsYCRjYCxgJGRgLHNlcCA9ICIgIiksaWZlbHNlKCFpcy5uYShgJGRgKSxwYXN0ZShgJGFgLGAkZGAsc2VwID0gIiAiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSkgJT4lDQogIHNlbGVjdChpZCxuYW1lKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBzdHJfcmVwbGFjZShuYW1lLCIoXFwpKShcXC4kKSIsIlxcMSIpLA0KICAgICAgICAgbmFtZSA9IHN0cl9yZXBsYWNlKG5hbWUsICIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIsIlxcMSIpKQ0KDQpvc29iYV9ibl8xMDBfcGJsIDwtIG1hcmNfZmllbGRfMTAwICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgaW5uZXJfam9pbiguLHBibF92aWFmLGJ5ID0gYygibmFtZSIgPSAiQk5fbmFtZSIpKSAlPiUNCiAgc2VsZWN0KDE6MykgJT4lDQogIGxlZnRfam9pbiguLHR3b3JjYV9pX2R6aWFsLGJ5ID0gInBibF9pZCIpICU+JQ0KICBzZWxlY3QoaWQsb3NvYmFfcGJsX2R6aWFsX2lkX25hbWUpICU+JQ0KICBncm91cF9ieShpZCkgJT4lDQogIG11dGF0ZShvc29iYV9ibl9hdXRvciA9IHBhc3RlKHVuaXF1ZShvc29iYV9wYmxfZHppYWxfaWRfbmFtZSksY29sbGFwc2UgPSAifiIpKSAlPiUNCiAgc2VsZWN0KC1vc29iYV9wYmxfZHppYWxfaWRfbmFtZSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkNCg0KIzYwMA0KbWFyY19maWVsZF82MDAgPC0gYm5fa3MgJT4lDQogIHNlbGVjdChpZCxYNjAwKSU+JQ0KICBmaWx0ZXIoWDYwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDYwMD1zdHJfcmVwbGFjZV9hbGwoWDYwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNjAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg2MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg2MDA9c3RyX3JlbW92ZV9hbGwoWDYwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNjAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGJuX2tzJFg2MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF82MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNjAwPC1jYmluZChtYXJjX2ZpZWxkXzYwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzYwMCRYNjAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNjAwJFg2MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNjAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNjAwJFg2MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzYwMCRYNjAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzYwMCA8LSBtYXJjX2ZpZWxkXzYwMCAlPiUNCiAgc2VsZWN0KGlkLGAkYWAsYCRkYCxgJGNgKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBpZmVsc2UoIWlzLm5hKGAkY2ApJnN1YnN0cihgJGNgLG5jaGFyKGAkY2ApLG5jaGFyKGAkY2ApKT09IjsiLHBhc3RlKGAkYWAsYCRjYCxgJGRgLHNlcCA9ICIgIiksaWZlbHNlKCFpcy5uYShgJGRgKSxwYXN0ZShgJGFgLGAkZGAsc2VwID0gIiAiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSkgJT4lDQogIHNlbGVjdChpZCxuYW1lKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBzdHJfcmVwbGFjZShuYW1lLCIoXFwpKShcXC4kKSIsIlxcMSIpLA0KICAgICAgICAgbmFtZSA9IHN0cl9yZXBsYWNlKG5hbWUsICIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIsIlxcMSIpKQ0Kb3NvYmFfYm5fNjAwX3BibCA8LSBtYXJjX2ZpZWxkXzYwMCAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIGlubmVyX2pvaW4oLixwYmxfdmlhZixieSA9IGMoIm5hbWUiID0gIkJOX25hbWUiKSkgJT4lDQogIHNlbGVjdCgxOjMpICU+JQ0KICBsZWZ0X2pvaW4oLix0d29yY2FfaV9kemlhbCxieSA9ICJwYmxfaWQiKSAlPiUNCiAgc2VsZWN0KGlkLG9zb2JhX3BibF9kemlhbF9pZF9uYW1lKSAlPiUNCiAgZ3JvdXBfYnkoaWQpICU+JQ0KICBtdXRhdGUob3NvYmFfYm5fdGVtYXQgPSBwYXN0ZSh1bmlxdWUob3NvYmFfcGJsX2R6aWFsX2lkX25hbWUpLGNvbGxhcHNlID0gIn4iKSkgJT4lDQogIHNlbGVjdCgtb3NvYmFfcGJsX2R6aWFsX2lkX25hbWUpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpDQoNCmJuX2tzIDwtIGJuX2tzICU+JQ0KICBmdWxsX2pvaW4oLixvc29iYV9ibl8xMDBfcGJsLGJ5ID0gImlkIikgJT4lDQogIGZ1bGxfam9pbiguLG9zb2JhX2JuXzYwMF9wYmwsYnkgPSAiaWQiKQ0KDQojYmV6cGllY3puaWshDQojc3ByYXdkemnEhw0KI2plxZtsaSBvYmlla3QgYmV6cGllY3puaWsgYsSZZHppZSBtaWHFgiBqYWtpZWtvbHdpZWsgd2llcnN6ZSwgdG8gb3puYWN6YSwgxbxlIHcgcGxpa3UgIm1hcG93YW5pZV9vc29iX2JuX3BibCIgamVzdCB3aWVyc3ogeiB0d8OzcmPEhSwga3TDs3JlZ28gbmllIG1hIHcgYmF6aWUgbHViIGplZ28gaWRlbnR5ZmlrYXRvciBqZXN0IGLFgsSZZG55DQojamXFm2xpIG9iaWVrdCBiZXpwaWVjem5payBqZXN0IHB1c3R5IC0gdG8gd3N6eXN0a28gb2tlag0KIyBzcHJhd2R6IGN6eSBpZCB0d29yY3kgeiBrdG9yZWpzIHRhYmVsaSBuYSBkeXNrdSBpc3RuaWVqZSB3IGJhemllIG9yYWNsZSwgamVzbGkgbmllLCB3a2xlaiBpZCB0d29yY3kgeiBvcmFjbGEgZG8gdGFiZWxpIGx1YiAtIGplxZtsaSBuaWUgbWEgdGFraWVnbyB0d8OzcmN5IHcgYmF6aWUgdXN1xYQgd2llcnN6IHcgdGFiZWxpLiBOYXN0xJlwbmllIGRvcGlzeiBmcmFnbWVudCBrb2R1LCBieSB1c3VuxIXEhyBrb2x1bW55IG9zb2JhX2JuX2F1dG9yIGkgb3NvYmFfYm5fdGVtYXQgKHBvIHRlaiBvcGVyYWNqaSB1c3XFhCBkb3Bpc2FueSBrb2QpIGkgdXJ1Y2hvbSBjaHVuayBwb25vd25pZQ0KDQojIGJuX2tzIDwtIGJuX2tzICU+JSANCiMgICBzZWxlY3QoLW9zb2JhX2JuX2F1dG9yLC1vc29iYV9ibl90ZW1hdCkNCg0KYmV6cGllY3puaWsgPC0gYm5fa3MgJT4lIA0KICBmaWx0ZXIob3NvYmFfYm5fYXV0b3I9PSJOQSIpDQpjaHVuazIgPC0gYm5fa3MNCmBgYA0KDQpgYGB7ciBkYWxzemUgcHJ6eWdvdG93YW5pZSB6YmlvcnUgZG8gaW1wb3J0dSAtIFVLRCwgc8WCb3dhIGtsdWN6b3dlLCBwb2xvbmlraX0NCiN3c2themFuaWUgaW50ZXJlc3VqxIVjeWNoIFBCTCBkemllZHppbiB3aWVkenkgcG8gVUtEIGkgb2tyZcWbbGVuaWUgdHlwdSBVS0QNCmJuX2tzIDwtIGNodW5rMiAlPiUNCiAgbXV0YXRlKGR6aWVkemluYV9QQkwgPSBpZmVsc2Uoc3RyX2RldGVjdChYMDgwLCIoPzw9XFwkYXw6fFxcW3xcXCt8XFwoKSg4MikiKSwidWtkX2xpdCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShzdHJfZGV0ZWN0KFgwODAsIig/PD1cXCRhfDp8XFxbfFxcKykoNzkxKSIpfHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGF8OikoNzkyKSIpfHN0cl9kZXRlY3QoWDA4MCwiXFwkYTdcXC4wOSIpLCJ1a2RfdGZydHYiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGEwMSkoXFwofFxcL3wyfDR8NXw5KSIpfHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGF8XFxbXSkoMDUwKSIpfHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGF8OnxcXFt8XFwrfFxcKCkoODExXFwuMTYyKSIpLCJ1a2RfYmlibGlvIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2Uoc3RyX2RldGVjdChYMDgwLCJcXCRhMDAyIil8c3RyX2RldGVjdChYMDgwLCIoPzw9XFwkYXw6KSgzMDUpIil8c3RyX2RldGVjdChYMDgwLCIoPzw9XFwkYTM5fDozOSkoXFwoNDM4XFwpfDhcXC4yKSIpfHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGF8OikoOTI5W15cXC5dMDUxKSIpfHN0cl9kZXRlY3QoWDA4MCwiKD88PVxcJGF8OikoOTI5W15cXC5dMDUyKSIpLCJ1a2RfcG9ncmFuaWN6ZSIsImJlel91a2RfUEJMIikpKSkpDQoNCiNvZ3JhbmljemVuaWUgcmVrb3Jkw7N3IHogdWtkIGrEmXp5a293eW0NCmJpYmxpbyA8LSBibl9rcyAlPiUgDQogIHNlbGVjdChpZCwgWDAwOCwgWDAwOSwgWDAxNSwgWDA0MSwgWDA0NCwgWDA4MCwgWDEwMCwgWDI0NSwgWDI0NiwgWDI1MCwgWDI2MCwgWDMwMCwgWDM4MCwgWDM4NiwgWDQ5MCwgWDUwMCwgWDUwMSwgWDU0NiwgWDYwMCwgWDY1MCwgWDY1NSwgWDcwMCwgWDcxMCwgWDgwMCwgWDgzMCwgcm9rLCBCTl9VUkwsIG9zb2JhX2JuX2F1dG9yLCBvc29iYV9ibl90ZW1hdCwgZHppZWR6aW5hX1BCTCkgJT4lIA0KICBmaWx0ZXIoZHppZWR6aW5hX1BCTD09InVrZF9iaWJsaW8iKQ0KZG9icmVfYmlibGlvIDwtIGJpYmxpbyAlPiUgDQogIGZpbHRlcighZ3JlcGwoIlBvZHLEmWN6bmlraSBkbGEgZHppZWNpfFBvZHLEmWN6bmlraSBkbGEgc3prw7PFgiBwb2RzdGF3b3d5Y2giLFg2NTUpLA0KICAgICAgICAgIWdyZXBsKCJzemtvxYJ5IHBvZHN0YXdvd2V8cm96bcOzd2tpfG5hdWN6YW5pZXxsb2dvcGVkaWEiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwNCiAgICAgICAgICFncmVwbCgiODExXFwuMTYyXFwuMVxcKDA3NVxcLjJcXCl8ODExXFwuMTYyXFwnMjRcXCgwNzhcXCkiLFgwODApLA0KICAgICAgICAgIWdyZXBsKCLEh3dpY3plbmlhIGkgemFkYW5pYXxwb3JhZG5pa2kgZGxhIG5hdWN6eWNpZWxpfHPFgm93bmlrLio/XFwtcG9sc2tpfHPFgm93bmlrIHBvbHNrb1xcLXxTxYJvd25pa2kgZGxhIGR6aWVjaSIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpLA0KICAgICAgICAgIShncmVwbCgiUG9kcsSZY3puaWtpIixYNjU1KSZncmVwbCgiS3N6dGHFgmNlbmllIG5hdWN6eWNpZWxpIixYNjUwKSkpDQpkb2JyZV9iaWJsaW8yIDwtIGJpYmxpbyAlPiUgDQogIGZpbHRlcighKGlzLm5hKG9zb2JhX2JuX2F1dG9yKSZpcy5uYShvc29iYV9ibl90ZW1hdCkpKQ0KZG9icmVfYmlibGlvIDwtIGRvYnJlX2JpYmxpbyAlPiUgDQogIGJpbmRfcm93cyhkb2JyZV9iaWJsaW8yICU+JSBmaWx0ZXIoaWQgJW5vdGluJSBkb2JyZV9iaWJsaW8kaWQpKQ0KemxlX2JpYmxpbyA8LSBiaWJsaW8gJT4lIA0KICBmaWx0ZXIoaWQgJW5vdGluJSBkb2JyZV9iaWJsaW8kaWQpDQpibl9rcyRkemllZHppbmFfUEJMW2JuX2tzJGlkICVpbiUgemxlX2JpYmxpbyRpZF0gPC0gTkENCg0KI3dza2F6YW5pZSBpbnRlcmVzdWrEhWN5Y2ggUEJMIHJla29yZMOzdyBiZXogVUtELCBrdMOzcmUgc8SFIHcga2x1Y3p1IFBCTA0KYmV6X3VrZF9hbGVfUEJMIDwtIGJuX2tzICU+JQ0KICBzZWxlY3QoaWQsIFgwODAsIFg2NTAsIFg2NTUsIG9zb2JhX2JuX2F1dG9yLCBvc29iYV9ibl90ZW1hdCwgZHppZWR6aW5hX1BCTCkgJT4lDQogIGZpbHRlcihkemllZHppbmFfUEJMID09ICJiZXpfdWtkX1BCTCImWDA4MD09IiImaXMubmEob3NvYmFfYm5fYXV0b3IpJmlzLm5hKG9zb2JhX2JuX3RlbWF0KSkgJT4lDQogIG11dGF0ZShiZXpfdWtkX2FsZV9QQkwgPSBncmVwbCgibGl0ZXJhdHxsaXRlcmFjfHBpc2FyfGJhamt8ZHJhbWF0fGVwaWdyYW1hdHxlc2VqfGZlbGlldG9ufGZpbG18a29tZWRpfG5vd2VsfG9wb3dpYWRhbml8cGFtacSZdG5pa3xwb2VtaWtzfHBvZXpqfHBvd2llxZvEh3xwcm96YXxyZXBvcnRhxbx8c2F0eXJ8d3Nwb21uaWVuaXxTY2VuYXJpdXN6ZSB6YWrEmcSHfFBvZHLEmWN6bmlraSBkbGEgZ2ltbmF6asOzd3x0ZWF0cnxOYWdyb2R8YWZvcnl6bXxiYcWbxYR8YmHFm25pZXxwb2xvbmlqbnxkaWFsb2dpfGZhbnRhc3R5a2EgbmF1a293YXxsZWdlbmR8cGllxZvFhHxwb2VtYXR8cHJ6eXBvd2llxZt8aG9ub3JpcyBjYXVzYXxmaWxvbG9naXxraW5vIHBvbHNraWV8cGllxZtuaXxpbnRlcnByZXRhY2oiLFg2NTAsIGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImxpdGVyYXR8bGl0ZXJhY3xwaXNhcnxiYWprfGRyYW1hdHxlcGlncmFtYXR8ZXNlanxmZWxpZXRvbnxmaWxtfGtvbWVkaXxub3dlbHxvcG93aWFkYW5pfHBhbWnEmXRuaWt8cG9lbWlrc3xwb2V6anxwb3dpZcWbxId8cHJvemF8cmVwb3J0YcW8fHNhdHlyfHdzcG9tbmllbml8U2NlbmFyaXVzemUgemFqxJnEh3xQb2RyxJljem5pa2kgZGxhIGdpbW5hemrDs3d8dGVhdHJ8TmFncm9kfGFmb3J5em18YmHFm8WEfGJhxZtuaWV8cG9sb25pam58ZGlhbG9naXxmYW50YXN0eWthIG5hdWtvd2F8bGVnZW5kfHBpZcWbxYR8cG9lbWF0fHByenlwb3dpZcWbfGhvbm9yaXMgY2F1c2F8Zmlsb2xvZ2l8a2lubyBwb2xza2llfHBpZcWbbml8aW50ZXJwcmV0YWNqIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSkpICU+JQ0KICBmaWx0ZXIoYmV6X3VrZF9hbGVfUEJMID09IFRSVUUpICU+JQ0KICBzZWxlY3QoaWQpICU+JQ0KICBtdXRhdGUoYmV6X3VrZF9hbGVfUEJMID0gInRhayIpDQoNCmJuX2tzIDwtIGJuX2tzICU+JQ0KICBmdWxsX2pvaW4oLixiZXpfdWtkX2FsZV9QQkwsYnkgPSAiaWQiKQ0KDQojQmlibGlhDQpiaWJsaWEgPC0gYm5fa3MgJT4lIA0KICBmaWx0ZXIoZ3JlcGwoImJpYmxpYSIsIFg2MzAsIGlnbm9yZS5jYXNlID0gVFJVRSksIA0KICAgICAgICAgZ3JlcGwoImFuYWxpemEgaSBpbnRlcnByZXRhY2phfGVkeWNqYSBrcnl0eWN6bmF8bWF0ZXJpYcWCeSBrb25mZXJlbmN5am5lIiwgWDY1NSwgaWdub3JlLmNhc2UgPSBUUlVFKSkgJT4lIA0KICBzZWxlY3QoaWQpICU+JSANCiAgbXV0YXRlKGN6eV9iaWJsaWEgPSAidGFrIikNCg0KYm5fa3MgPC0gYm5fa3MgJT4lDQogIGZ1bGxfam9pbihiaWJsaWEsYnkgPSAiaWQiKQ0KDQojd3Nwb21uaWVuaWEscGFtacSZdG5pa2ksbGl0ZXJhdHVyYSBwb2Ryw7PFvG5pY3phLHJlcG9ydGHFvA0Kd3Nwb21uaWVuaWEgPC0gYm5fa3MgJT4lDQogIG11dGF0ZShjenlfd3Nwb21uaWVuaWFfcmVwb3J0YXogPSBpZmVsc2Uoc3RyX2RldGVjdChYNjU1LCJQYW1pxJl0bmlraSBpIHdzcG9tbmllbmlhIil8c3RyX2RldGVjdChYNjU1LCJMaXRlcmF0dXJhIHBvZHLDs8W8bmljemEiKXxzdHJfZGV0ZWN0KFg2NTUsIlBhbWnEmXRuaWtpIil8c3RyX2RldGVjdChYNjU1LCJSZXBvcnRhxbwiKXxzdHJfZGV0ZWN0KFg2NTUsIlJlbGFjamEgeiBwb2Ryw7PFvHkiKSwidGFrIixOQSkpICU+JQ0KICBzZWxlY3QoaWQsY3p5X3dzcG9tbmllbmlhX3JlcG9ydGF6KSAlPiUNCiAgdW5pcXVlKCkNCmJuX2tzIDwtIGJuX2tzICU+JQ0KICBmdWxsX2pvaW4oLix3c3BvbW5pZW5pYSxieSA9ICJpZCIpDQoNCiNzxYJvd2EgbGl0ZXJhY2tpZSB3IHBvbHUgMjQ1DQpyZWtvcmR5X3Nsb3dhIDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICBmcm9tIGJuX2tzIGENCiAgICAgICAgICAgICAgICAgICAgd2hlcmUgTE9XRVIoYS5YMjQ1KSBsaWtlICgnJSd8fCdwaXNhcid8fCclJykNCiAgICAgICAgICAgICAgICAgICBvciBMT1dFUihhLlgyNDUpIGxpa2UgKCclJ3x8J2xpdGVyYXQnfHwnJScpDQogICAgICAgICAgICAgICAgICAgb3IgTE9XRVIoYS5YMjQ1KSBsaWtlICgnJSd8fCdsaXRlcmFjJ3x8JyUnKQ0KICAgICAgICAgICAgICAgICAgIG9yIExPV0VSKGEuWDI0NSkgbGlrZSAoJyUnfHwndGVhdHInfHwnJScpDQogICAgICAgICAgICAgICAgICAgb3IgTE9XRVIoYS5YMjQ1KSBsaWtlICgnJSd8fCdmaWxtJ3x8JyUnKQ0KICAgICAgICAgICAgICAgICAgIG9yIExPV0VSKGEuWDI0NSkgbGlrZSAoJyUnfHwnZHJhbWF0J3x8JyUnKQ0KICAgICAgICAgICAgICAgICAgIG9yIExPV0VSKGEuWDI0NSkgbGlrZSAoJyUnfHwnaW50ZXJwcmV0YWNqJ3x8JyUnKSIpICU+JQ0KICBzZWxlY3QoaWQpICU+JQ0KICBtdXRhdGUoc2xvd2FfbGl0ZXJhY2tpZSA9ICJ0YWsiKSAlPiUNCiAgdW5pcXVlKCkNCmJuX2tzIDwtIGJuX2tzICU+JQ0KICBmdWxsX2pvaW4oLixyZWtvcmR5X3Nsb3dhLGJ5ID0gImlkIikNCg0KYm5fb2sgPC0gYm5fa3MgJT4lDQogIGZpbHRlcighKChpcy5uYShvc29iYV9ibl9hdXRvcikmaXMubmEob3NvYmFfYm5fdGVtYXQpKSZkemllZHppbmFfUEJMPT0iYmV6X3VrZF9QQkwiJmlzLm5hKGJlel91a2RfYWxlX1BCTCkmaXMubmEoY3p5X3dzcG9tbmllbmlhX3JlcG9ydGF6KSZpcy5uYShzbG93YV9saXRlcmFja2llKSZpcy5uYShjenlfYmlibGlhKSkpDQoNCiNpbnRlcnByZXRhY2plIG5pZWxpdGVyYWNraWUNCnpsZV9pbnRlcnByZXRhY2plIDwtIGJuX29rICU+JSANCiAgZmlsdGVyKGdyZXBsKCJpbnRlcnByZXRhY2oiLFgyNDUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgiaW50ZXJwcmV0YWNqIixYNjUwLGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImludGVycHJldGFjaiIsWDI0NSxpZ25vcmUuY2FzZSA9IFRSVUUpKSAlPiUgDQogIGZpbHRlcihncmVwbCgiXFwkYTMzNnxcXCRhMzQyfFxcJGEzMnxcXCRhNTUxfFxcJGE2MTZ8XFwkYTE1OVxcLjk2MSIsWDA4MCl8Z3JlcGwoInByYXdufGhhbmRsfGhhbmRlbHxrb2Rla3N8cHJhY3x1c3Rhd3xhZG1pbmlzdHJhY3xzcMOzxYJrYXxzcMOzxYJla3xwcmF3YXxwb2RhdGsiLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgicHJhd258aGFuZGx8aGFuZGVsfGtvZGVrc3xwcmFjfHVzdGF3fGFkbWluaXN0cmFjfHNww7PFgmthfHNww7PFgmVrfHByYXdhfHBvZGF0ayIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJwcmF3bnxoYW5kbHxoYW5kZWx8a29kZWtzfHVzdGF3fGFkbWluaXN0cmFjfHNww7PFgmthfHNww7PFgmVrfHByYXdhfHBvZGF0ayIsWDI0NSxpZ25vcmUuY2FzZSA9IFRSVUUpKQ0KDQpibl9vayA8LSBibl9vayAlPiUgDQogIGZpbHRlcihpZCAlbm90aW4lIHpsZV9pbnRlcnByZXRhY2plJGlkKQ0KDQojdXN1d2FuaWUgemR1Ymxvd2FueWNoIGtzacSFxbxlaw0KIzAyMA0KbWFyY19maWVsZF8wMjAgPC0gYm5fb2sgJT4lDQogIHNlbGVjdChpZCxYMDIwKSU+JQ0KICBmaWx0ZXIoWDAyMCE9IiIpICU+JQ0KICBtdXRhdGUoWDAyMD1zdHJfcmVwbGFjZV9hbGwoWDAyMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMDIwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgwMjAhPSIiKSAlPiUNCiAgbXV0YXRlKFgwMjA9c3RyX3JlbW92ZV9hbGwoWDAyMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMDIwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGJuX29rJFgwMjAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8wMjApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMDIwPC1jYmluZChtYXJjX2ZpZWxkXzAyMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzAyMCRYMDIwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMDIwJFgwMjAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMDIwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMDIwJFgwMjApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzAyMCRYMDIwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzAyMCA8LSBtYXJjX2ZpZWxkXzAyMCAlPiUNCiAgc2VsZWN0KGlkLGlzYm49YCRhYCkNCg0KZGlzdGFuY2UxIDwtIGJuX29rICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJcXCRuIixYMjQ1KSkgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMDIwLGJ5PSJpZCIpICU+JQ0KICBtdXRhdGUocG9yb3duYW5pZSA9IHBhc3RlKGlzYm4sc3Vic3RyKHN0cl90b19sb3dlcihzdHJfcmVwbGFjZV9hbGwoWDI0NSwgIlxcVyIsICIiKSksNCwxNCksc3RyX2V4dHJhY3QoWDMwMCwiKD88PVxcJGEpKC4qPykoPz0sfCApIiksc2VwID0gInwiKSkNCg0KY291bnQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShkaXN0YW5jZTEkcG9yb3duYW5pZSkpDQoNCmRpc3RhbmNlMSA8LSBtZXJnZShkaXN0YW5jZTEsY291bnQsYnkueCA9ICJwb3Jvd25hbmllIixieS55ID0gIlZhcjEiLGFsbC54ID0gVFJVRSkgJT4lDQogIHNlbGVjdChwb3Jvd25hbmllLEZyZXEsMjoxNTUpICU+JQ0KICBhcnJhbmdlKC1GcmVxLHBvcm93bmFuaWUpICU+JQ0KICBzZWxlY3QocG9yb3duYW5pZSxGcmVxLGlkKSAlPiUNCiAgY1NwbGl0KC4sInBvcm93bmFuaWUiLHNlcCA9ICJ8IixkaXJlY3Rpb24gPSAid2lkZSIpICU+JSANCiAgYXJyYW5nZShwb3Jvd25hbmllXzIscG9yb3duYW5pZV8zLHBvcm93bmFuaWVfMSwtRnJlcSxpZCkNCmNvdW50IDwtIGFzLmRhdGEuZnJhbWUodGFibGUoZGlzdGFuY2UxJHBvcm93bmFuaWVfMixkaXN0YW5jZTEkcG9yb3duYW5pZV8zKSkgJT4lIA0KICBmaWx0ZXIoRnJlcT4wKQ0KZGlzdGFuY2UxIDwtIGRpc3RhbmNlMSAlPiUgDQogIGxlZnRfam9pbiguLGNvdW50LGJ5PWMoInBvcm93bmFuaWVfMiI9IlZhcjEiLCJwb3Jvd25hbmllXzMiPSJWYXIyIikpICU+JSANCiAgYXJyYW5nZShwb3Jvd25hbmllXzIscG9yb3duYW5pZV8zLC1GcmVxLnkscG9yb3duYW5pZV8xLC1GcmVxLnksaWQpICU+JSANCiAgZ3JvdXBfYnlfYXQodmFycyg0OjYpKSAlPiUgDQogIGZpbGwocG9yb3duYW5pZV8xKSAlPiUgDQogIHVuZ3JvdXAoKSAlPiUgDQogIHVuaXF1ZSgpICU+JSANCiAgc2VsZWN0KC1GcmVxLnkpICU+JSANCiAgcmVuYW1lKEZyZXEgPSBGcmVxLngpDQoNCiNwb3N6dWthbmllIGR5c3RhbnN1IExldmVuc2h0ZWluYSA9PSAxIHByenkgdGFraW0gc2FteW0gSVNCTg0KZGlzdGFuY2UyIDwtIGRpc3RhbmNlMSAlPiUNCiAgZmlsdGVyKCFpcy5uYShwb3Jvd25hbmllXzEpKSAlPiUNCiAgZ3JvdXBfYnkocG9yb3duYW5pZV8xKSAlPiUNCiAgbXV0YXRlKEZyZXEgPSBwYXN0ZShGcmVxLGNvbGxhcHNlID0gInwiKSwNCiAgICAgICAgIGlkID0gcGFzdGUoaWQsY29sbGFwc2UgPSAifCIpLA0KICAgICAgICAgcG9yb3duYW5pZV8yID0gcGFzdGUocG9yb3duYW5pZV8yLGNvbGxhcHNlID0gInwiKSwNCiAgICAgICAgIHBvcm93bmFuaWVfMyA9IHBhc3RlKHBvcm93bmFuaWVfMyxjb2xsYXBzZSA9ICJ8IikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoaWxlID0gc3RyX2NvdW50KHBvcm93bmFuaWVfMiwiXFx8IikrMSkgJT4lDQogIGFycmFuZ2UoLWlsZSkgJT4lDQogIG11dGF0ZShpZF9ncnVweSA9IDE6bGVuZ3RocyguKSkgJT4lDQogIGZpbHRlcihpbGU+MSkgJT4lDQogIGNTcGxpdCguLGMoIkZyZXEiLCJpZCIsInBvcm93bmFuaWVfMiIsInBvcm93bmFuaWVfMyIpLHNlcCA9ICJ8IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShpZCkpDQoNCnBlcm11dGF0aW9ucyA8LSBkYXRhLmZyYW1lKHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkNCnggPC0gMTptYXgoZGlzdGFuY2UyJGlkX2dydXB5KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBkaXN0YW5jZTMgPC0gYXMudmVjdG9yKHVubGlzdChkaXN0YW5jZTIgJT4lIGZpbHRlcihpZF9ncnVweT09aSkgJT4lIHNlbGVjdChwb3Jvd25hbmllXzIpKSkNCiAgaXRlcmF0aW9uIDwtIGFzLmRhdGEuZnJhbWUocGVybXV0YXRpb25zKGRpc3RhbmNlMywyKSkgJT4lDQogICAgbXV0YXRlKGlkX2dydXB5ID0gaSkNCiAgeSA8LSAxOmxlbmd0aChpdGVyYXRpb24kVjEpDQogIGZvciAoaiBpbiB5KSB7DQogICAgcHJvZ3Jlc3MobWF0Y2goaix5KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHkpKQ0KICAgIGl0ZXJhdGlvbiRkaXN0YW5jZVtqXSA8LSBhZGlzdChpdGVyYXRpb24kVjFbal0saXRlcmF0aW9uJFYyW2pdKQ0KICB9DQogIHBlcm11dGF0aW9ucyA8LSByYmluZChwZXJtdXRhdGlvbnMsaXRlcmF0aW9uKQ0KfQ0KDQpwZXJtdXRhdGlvbnMgPC0gcGVybXV0YXRpb25zICU+JQ0KICBmaWx0ZXIoZGlzdGFuY2U8PTEpDQoNCmRpc3RhbmNlMiA8LSBkaXN0YW5jZTIgJT4lDQogIGZpbHRlcihpZF9ncnVweSAlaW4lIHBlcm11dGF0aW9ucyRpZF9ncnVweSkgJT4lDQogIHNlbGVjdChpZCxpZF9ncnVweSkNCiNwb8WCxIVjennEhyBkaXN0YW5jZTIgeiBkaXN0YW5jZTEsIMW8ZWJ5IHd5ZG9iecSHIHBlxYJuxIUgbGlzdMSZIHpkdWJsb3dhbnljaCBrc2nEhcW8ZWsNCmR1YmxlX2tzaWF6ZWsgPC0gZGlzdGFuY2UxICU+JQ0KICB1bml0ZSgicG9yb3duYW5pZSIsIHBvcm93bmFuaWVfMTpwb3Jvd25hbmllXzMsIHNlcCA9ICJ8IikgJT4lDQogIGZpbHRlcihGcmVxPjEpICU+JQ0KICBmdWxsX2pvaW4oLixkaXN0YW5jZTIsYnk9ImlkIikNCg0KZHVibGVfa3NpYXplayRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChkdWJsZV9rc2lhemVrJHBvcm93bmFuaWUpKQ0KDQpkdWJsZV9rc2lhemVrIDwtIGR1YmxlX2tzaWF6ZWsgJT4lDQogIGFycmFuZ2UoaWRfZ3J1cHksc2FtZSkgJT4lDQogIG11dGF0ZShpZF9ncnVweV9kdWJsaSA9IGlmZWxzZSghaXMubmEoaWRfZ3J1cHkpLGFzLmNoYXJhY3RlcihpZF9ncnVweSkscGFzdGUoIngiLHNhbWUsc2VwID0gIiIpKSkgJT4lDQogIHNlbGVjdChpZCxpZF9ncnVweV9kdWJsaSkgJT4lDQogIGFycmFuZ2UoaWRfZ3J1cHlfZHVibGkpDQoNCmR1YmxlX2tzaWF6ZWskaWRfZ3J1cHlfZHVibGkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKGR1YmxlX2tzaWF6ZWskaWRfZ3J1cHlfZHVibGkpKQ0KI3V6dXBlxYJuaWVuaWUgY2HFgmVnbyB6YmlvcnUgbyBpbmZvcm1hY2rEmSBvIGR1Ymx1LCB3eWRvYnljaWUgZHVibGkgZG8gb3NvYm5lZ28gcGxpa3UgaSB1c3VuaWVjaWUgaWNoIHogZ8WCw7N3bmVnbyBwbGlrdSB6IHJla29yZGFtaSBibjsgd3NrYXphbmllIGxpc3R5IGludGVyZXN1asSFY3ljaCBww7NsDQpibl9vayA8LSBibl9vayAlPiUNCiAgbGVmdF9qb2luKC4sZHVibGVfa3NpYXplayxieT0iaWQiKSAlPiUNCiAgc2VsZWN0KGlkLCBYMDA4LCBYMDA5LCBYMDE1LCBYMDQxLCBYMDQ0LCBYMDgwLCBYMTAwLCBYMjQ1LCBYMjQ2LCBYMjUwLCBYMjYwLCBYMzAwLCBYMzgwLCBYMzg2LCBYNDkwLCBYNTAwLCBYNTAxLCBYNTQ2LCBYNjAwLCBYNjUwLCBYNjU1LCBYNzAwLCBYNzEwLCBYODAwLCBYODMwLCByb2ssIEJOX1VSTCwgb3NvYmFfYm5fYXV0b3IsIG9zb2JhX2JuX3RlbWF0LCBkemllZHppbmFfUEJMLCBiZXpfdWtkX2FsZV9QQkwsIGN6eV93c3BvbW5pZW5pYV9yZXBvcnRheiwgc2xvd2FfbGl0ZXJhY2tpZSwgY3p5X2JpYmxpYSwgaWRfZ3J1cHlfZHVibGkpDQoNCmR1YmxlX2tzaWF6ZWsgPC0gYm5fb2sgJT4lDQogIGZpbHRlcighaXMubmEoaWRfZ3J1cHlfZHVibGkpKSAlPiUNCiAgYXJyYW5nZShpZF9ncnVweV9kdWJsaSkNCg0KYm5fb2sgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihpcy5uYShpZF9ncnVweV9kdWJsaSkpDQojd3Bpc2FuaWUgdyB6ZHVibG93YW5lIHJla29yZHkgamFrIG5handpxJlrc3plaiBpbG/Fm2NpIGRhbnljaCAoc3VtYSB3c3p5c3RraWNoIGR1YmxpKQ0KZHVibGVfa3NpYXplayA8LSBkdWJsZV9rc2lhemVrICU+JQ0KICBhcnJhbmdlKGlkX2dydXB5X2R1YmxpLC1uY2hhcihYMDE1KSkNCmR1YmxlX2tzaWF6ZWtbaXMubmEoZHVibGVfa3NpYXplayldIDwtICIiDQpkdWJsZV9uYXByYXdpb25lIDwtIGRhdGEuZnJhbWUoc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQ0KeCA8LSAxOm1heChkdWJsZV9rc2lhemVrJGlkX2dydXB5X2R1YmxpKQ0KeSA8LSBjKDQ6MjcsMjk6MzQpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIGl0ZXJhdGlvbiA8LSBkdWJsZV9rc2lhemVrICU+JQ0KICAgIGZpbHRlcihpZF9ncnVweV9kdWJsaT09aSkNCiAgZm9yIChqIGluIHkpIHsNCiAgICBpZiAoaj09MzApIHsNCiAgICAgIGl0ZXJhdGlvblssal0gPC0gaXRlcmF0aW9uWyxqXVtuY2hhcihpdGVyYXRpb25bLGpdKT09bWluKG5jaGFyKGl0ZXJhdGlvblssal0pKV1bMV0NCiAgICB9IGVsc2Ugew0KICAgICAgICBpdGVyYXRpb25bLGpdIDwtIGl0ZXJhdGlvblssal1bbmNoYXIoaXRlcmF0aW9uWyxqXSk9PW1heChuY2hhcihpdGVyYXRpb25bLGpdKSldWzFdDQogICAgICB9DQogIH0NCiAgZHVibGVfbmFwcmF3aW9uZSA8LSByYmluZChkdWJsZV9uYXByYXdpb25lLGl0ZXJhdGlvbikNCn0NCiNwb3pvc3Rhd2llbmllIHBvamVkeW5jenljaCB3aWVyc3p5IGRsYSBrc2nEhcW8ZWsNCmR1YmxlX25hcHJhd2lvbmUgPC0gZHVibGVfbmFwcmF3aW9uZVshZHVwbGljYXRlZChkdWJsZV9uYXByYXdpb25lJGlkX2dydXB5X2R1YmxpKSxdDQpkdWJsZV9uYXByYXdpb25lIDwtIGR1YmxlX25hcHJhd2lvbmUgJT4lDQogIG11dGF0ZShvc29iYV9ibl9hdXRvciA9IGlmZWxzZShvc29iYV9ibl9hdXRvciE9IiIsYXMuY2hhcmFjdGVyKG9zb2JhX2JuX2F1dG9yKSxOQSksDQogICAgICAgICBvc29iYV9ibl90ZW1hdCA9IGlmZWxzZShvc29iYV9ibl90ZW1hdCE9IiIsYXMuY2hhcmFjdGVyKG9zb2JhX2JuX3RlbWF0KSxOQSksDQogICAgICAgICBkemllZHppbmFfUEJMID0gaWZlbHNlKGR6aWVkemluYV9QQkwhPSIiLGFzLmNoYXJhY3RlcihkemllZHppbmFfUEJMKSxOQSksDQogICAgICAgICBiZXpfdWtkX2FsZV9QQkwgPSBpZmVsc2UoYmV6X3VrZF9hbGVfUEJMIT0iIixhcy5jaGFyYWN0ZXIoYmV6X3VrZF9hbGVfUEJMKSxOQSksDQogICAgICAgICBjenlfd3Nwb21uaWVuaWFfcmVwb3J0YXogPSBpZmVsc2UoY3p5X3dzcG9tbmllbmlhX3JlcG9ydGF6IT0iIixhcy5jaGFyYWN0ZXIoY3p5X3dzcG9tbmllbmlhX3JlcG9ydGF6KSxOQSksDQogICAgICAgICBzbG93YV9saXRlcmFja2llID0gaWZlbHNlKHNsb3dhX2xpdGVyYWNraWUhPSIiLGFzLmNoYXJhY3RlcihzbG93YV9saXRlcmFja2llKSxOQSksKQ0KI3BvxYLEhWN6ZW5pZSB1bmlrYXRvd3ljaCBrc2nEhcW8ZWsgeiBkdWJsaSB6IGNhxYJ5bSB6YmlvcmVtDQpibl9vayA8LSBibl9vayAlPiUNCiAgYmluZF9yb3dzKC4sZHVibGVfbmFwcmF3aW9uZSkgJT4lDQogIHNlbGVjdCgtaWRfZ3J1cHlfZHVibGkpDQoNCiN1c3VuacSZY2llIHphZ3Jhbmljem55Y2ggemFwaXPDs3csIGt0w7NyZSBuaWUgc8SFIHBvbG9uaWthbWkgDQojbmEgcG9kc3Rhd2llIGJyYWt1IHd5c3TEhXBpZcWEIGZyYXp5ICJwb2wiIHcgcG9sYWNoIE1BUkMNCm5pZV9wb2xvbmlraSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKGlmIChYNTAxPT0iIikgIWdyZXBsKCJwbCIsc3Vic3RyKFgwMDgsMTYsMTgpKSkgJT4lDQogIGZpbHRlcighZ3JlcGwoInBvbCIsc3Vic3RyKFgwMDgsMzYsMzgpKSkgJT4lDQogIGZpbHRlcighZ3JlcGwoInBvbCIsWDA0MSkpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJwbCIsWDA0NCkpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJwb2wiLFg1MDAsaWdub3JlLmNhc2UgPSBUUlVFKSkgJT4lDQogIGZpbHRlcighZ3JlcGwoInBvbCIsWDUwMSxpZ25vcmUuY2FzZSA9IFRSVUUpKSAlPiUNCiAgZmlsdGVyKCFncmVwbCgicG9sIixYNTQ2LGlnbm9yZS5jYXNlID0gVFJVRSkpICU+JQ0KICBzZWxlY3QoaWQpICU+JQ0KICBtdXRhdGUoY3p5X3BvbG9uaWsgPSAibmllIikgJT4lDQogIHVuaXF1ZSgpDQoNCmJuX29rIDwtIGJuX29rICU+JQ0KICBmdWxsX2pvaW4oLixuaWVfcG9sb25pa2ksYnkgPSAiaWQiKSAlPiUNCiAgc2VsZWN0KGlkLCBYMDA4LCBYMDA5LCBYMDQxLCBYMDQ0LCBYMDgwLCBYMTAwLCBYMjQ1LCBYMjQ2LCBYMjUwLCBYMjYwLCBYMzAwLCBYMzgwLCBYMzg2LCBYNDkwLCBYNTAwLCBYNTAxLCBYNTAwLCBYNTQ2LCBYNjAwLCBYNjUwLCBYNjU1LCBYNzAwLCBYNzEwLCBYODAwLCBYODMwLCByb2ssIEJOX1VSTCwgb3NvYmFfYm5fYXV0b3IsIG9zb2JhX2JuX3RlbWF0LCBkemllZHppbmFfUEJMLCBiZXpfdWtkX2FsZV9QQkwsIGN6eV93c3BvbW5pZW5pYV9yZXBvcnRheiwgc2xvd2FfbGl0ZXJhY2tpZSwgY3p5X3BvbG9uaWssIGN6eV9iaWJsaWEpICU+JQ0KICB1bmlxdWUoKQ0KI3dza2F6YW5pZSBuaWVwb2xvbmlrw7N3IGkgdXN1bmnEmWNpZSB6ZSB6YmlvcnUNCm5pZV9wb2xvbmlraSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKGN6eV9wb2xvbmlrPT0ibmllIikgJT4lDQogIGZpbHRlcihpcy5uYShvc29iYV9ibl9hdXRvcil8aXMubmEob3NvYmFfYm5fdGVtYXQpfCEob3NvYmFfYm5fYXV0b3IgJWluJSBjKCIxNDh8SGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSIsIjQzMHxIYXPFgmEgb3NvYm93ZSAoTHVkemllIHRlYXRydSBpIGZpbG11KSIpKXwhKG9zb2JhX2JuX3RlbWF0ICVpbiUgYygiMTQ4fEhhc8WCYSBvc29ib3dlIChsaXRlcmF0dXJhIHBvbHNrYSkiLCI0MzB8SGFzxYJhIG9zb2Jvd2UgKEx1ZHppZSB0ZWF0cnUgaSBmaWxtdSkiKSkpDQpibl9vayA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgIGZyb20gYm5fb2sgYQ0KICAgICAgICAgICAgICAgd2hlcmUgYS5pZCBub3QgaW4gKHNlbGVjdCBiLmlkIGZyb20gbmllX3BvbG9uaWtpIGIpIikgJT4lDQogIHNlbGVjdCgtY3p5X3BvbG9uaWspDQoNCiN1c3VuacSZY2llIGtzacSFxbxlayB6YWJhd2VrLCBkbyBrb2xvcm93YW5pYSwgZGxhIG1hxYJ5Y2ggZHppZWNpLCB6IG5ha2xlamthbWksIGt0w7NyZSBuaWUgbWFqxIUgxbxhZG5lZ28gZGVza3J5cHRvcmEgZ2F0dW5rb3dlZ28NCmtzX3phYmF3a2kgPC0gYm5fb2sgJT4lIA0KICBmaWx0ZXIoKHN0cl9jb3VudChYNjU1LCJcXCRhIik9PTEmZ3JlcGwoIktzacSFxbxrYSB6YWJhd2thfEtzacSFxbxraSBkbGEgbWHFgnljaCBkemllY2l8S3NpxIXFvGthIGRvIGtvbG9yb3dhbmlhfEtzacSFxbxrYSB6IG5ha2xlamthbWl8S3NpxIXFvGtpIGRsYSBwcnplZHN6a29sYWvDs3d8V3lkYXduaWN0d2EgZGxhIGR6aWVjaSIsWDY1NSkpfHN0cl9jb3VudChYNjU1LCJcXCRhIik9PTImZ3JlcGwoIktzacSFxbxrYSBvYnJhemtvd2EiLFg2NTUpJmdyZXBsKCJLc2nEhcW8a2kgZGxhIG1hxYJ5Y2ggZHppZWNpIixYNjU1KXxzdHJfY291bnQoWDY1NSwiXFwkYSIpPT0yJmdyZXBsKCJLc2nEhcW8a2EgZG8ga29sb3Jvd2FuaWEiLFg2NTUpJmdyZXBsKCJQdWJsaWthY2plIGRsYSBkemllY2kiLFg2NTUpfHN0cl9jb3VudChYNjU1LCJcXCRhIik9PTImZ3JlcGwoIktzacSFxbxraSB6YWJhd2tpIixYNjU1KSZncmVwbCgiV3ljaW5hbmtpIixYNjU1KXxzdHJfY291bnQoWDY1NSwiXFwkYSIpPT0yJmdyZXBsKCJLc2nEhcW8a2kgZGxhIG1hxYJ5Y2ggZHppZWNpIixYNjU1KSZncmVwbCgiUHVibGlrYWNqZSBkbGEgZHppZWNpIixYNjU1KSkNCg0KYm5fb2sgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICBmcm9tIGJuX29rIGENCiAgICAgICAgICAgICAgIHdoZXJlIGEuaWQgbm90IGluIChzZWxlY3QgYi5pZCBmcm9tIGtzX3phYmF3a2kgYikiKQ0KY2h1bmszIDwtIGJuX29rDQpgYGANCg0KYGBge3IgYXV0b21hdHljem5lIHVzdW5pxJljaWUgSU5PIG5hIHBvZHN0YXdpZSB3Y3plxZtuaWVqc3p5Y2ggaW1wb3J0w7N3fQ0KYm5fb2sgPC0gY2h1bmszDQojcG9icmFuaWUgc3RhcnljaCBsaXN0IGtzacSFxbxlayB6IGltcG9ydHUNCiNha3R1YWxpemFjamEgLSB1enVwZcWCbmlqIG9zdGF0bmkgYnJha3VqxIVjeSB6YWltcG9ydG93YW55IHJvY3puaWsNCmxpc3R5XzIwMTAgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMVZqZWcwSnNZSS04djlCLXhfeXl1aklobXc3VVI3TGs3cG9leHJITmRWek0iLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDkgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMUdjNGdRU205YjRORFRReXNpYXV6VzlKYWM2eVAwb051RmJCOHV0TzRrUzQiLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDUgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMUhrV2tYNjFzUVdrdFNYZjB2MHVQVjhqMkR3dVRvY2VzeUNKdUtUZGlzSVUiLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDYgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMXplTXhfSWRzdW04Sm1sTTZHN0V1Zng5THhsb0hvQUh2OFYtTXk3MVZaZjQiLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDcgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMTlpTDdZb0Q4dWctckxucHpTNkZENDZhUzJKMUJSZjRxTDVWeGxseXdDR0UiLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDggPC0gc2hlZXRzX3JlYWQoc3MgPSAiMVJzaFRlV2RYQkU3T3pPRWZvR3BMOUxqYl9HWERsR0RlUE5qVjFIS211T28iLCBzaGVldCA9ICJsaXN0YV9rc2lhemVrIikNCmxpc3R5XzIwMDQgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMVJtRGlhOTdzNEI4Rjc0c1M3V2JwbnZfQTl6TWZyNHhUdmNEOWxldWtBZk0iLCBzaGVldCA9ICJsaXN0YV9rc2nEhcW8ZWsiKSAlPiUNCiAgbXV0YXRlKHR5cF9rc2lhemtpID0gTkEsIGxpbmsgPSBOQSwgbGlua18xID0gTkEsIHN0YXR1cyA9IE5BLCBibGFkX3dfaW1wb3JjaWVfdHl0dWx1ID0gTkEpICU+JQ0KICBzZWxlY3QocHJhY293bmlrLFpBX1pBUElTX0lELHR5cF9rc2lhemtpLCBsaW5rLCBsaW5rXzEsIHJvaywgc3RhdHVzLCBibGFkX3dfaW1wb3JjaWVfdHl0dWx1LCBYMTAwLCBYMjQ1LCBYNjUwLCBYNjU1LCBYMjQ2LCBYMjUwLCBYMjYwLCBYMzAwLCBYMzgwLCBYNDkwLCBYNTAwLCBYNTAxLCBYNTQ2LCBYNjAwLCBYNzAwLCBYMDQxLCBYMDgwKQ0KI3VqZWRub2xpY2VuaWUgMjAwNCBkbyB3em9ydSBww7PFum5pZWpzenljaCByb2N6bmlrw7NXDQpkbzIwMDQgPC0gUkpEQkM6OmRiR2V0UXVlcnkoUEJMLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWxlY3Qgei56YV96YXBpc19pZCwgei56YV9zdGF0dXNfaW1wDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBwYmxfemFwaXN5IHoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSB6LnphX3V3YWdpIGxpa2UgJyVpbXBvcnQlMDIlJyIpDQpsaXN0eV8yMDA0IDwtIG1lcmdlKGxpc3R5XzIwMDQsZG8yMDA0LGJ5ID0gIlpBX1pBUElTX0lEIixhbGwueCA9IFRSVUUpICU+JQ0KICBtdXRhdGUoc3RhdHVzID0gWkFfU1RBVFVTX0lNUCkgJT4lDQogIHNlbGVjdCgtWkFfU1RBVFVTX0lNUCkgJT4lDQogIHNlbGVjdChwcmFjb3duaWssWkFfWkFQSVNfSUQsdHlwX2tzaWF6a2ksIGxpbmssIGxpbmtfMSwgcm9rLCBzdGF0dXMsIGJsYWRfd19pbXBvcmNpZV90eXR1bHUsIFgxMDAsIFgyNDUsIFg2NTAsIFg2NTUsIFgyNDYsIFgyNTAsIFgyNjAsIFgzMDAsIFgzODAsIFg0OTAsIFg1MDAsIFg1MDEsIFg1NDYsIFg2MDAsIFg3MDAsIFgwNDEsIFgwODApDQojemFwZXduaWVuaWUgdHljaCBzYW15Y2ggbmF6dyBrb2x1bW4NCiNha3R1YWxpemFjamEgLSB3cHJvd2Fkxbogd2llcnN6IGRsYSBvc3RhdG5pZWdvIHphaW1wb3J0b3dhbmVnbyByb2N6bmlrYQ0KY29sbmFtZXMobGlzdHlfMjAxMCkgPC0gbmFtZXMobGlzdHlfMjAwNCkNCmNvbG5hbWVzKGxpc3R5XzIwMDkpIDwtIG5hbWVzKGxpc3R5XzIwMDQpDQpjb2xuYW1lcyhsaXN0eV8yMDA1KSA8LSBuYW1lcyhsaXN0eV8yMDA0KQ0KY29sbmFtZXMobGlzdHlfMjAwNikgPC0gbmFtZXMobGlzdHlfMjAwNCkNCmNvbG5hbWVzKGxpc3R5XzIwMDcpIDwtIG5hbWVzKGxpc3R5XzIwMDQpDQpjb2xuYW1lcyhsaXN0eV8yMDA4KSA8LSBuYW1lcyhsaXN0eV8yMDA0KQ0KbGlzdHlfMjAwNCA8LSBsaXN0eV8yMDA0ICU+JQ0KICBtdXRhdGUoWDY1NSA9IHN0cl9yZW1vdmUoc3RyX3JlcGxhY2VfYWxsKFg2NTUsIihcXCRhKSIsInxcXDEiKSwiXlxcfCIpLA0KICAgICAgICAgWDY1MCA9IHN0cl9yZW1vdmUoc3RyX3JlcGxhY2VfYWxsKFg2NTAsIihcXCRhKSIsInxcXDEiKSwiXlxcfCIpKQ0KDQojd3l6bmFjemVuaWUgbGlzdHkgNjUwIGkgNjU1IGRvIGF1dG9tYXR5Y3puZWdvIElOTyBuYSBwb2RzdGF3aWUgd2N6ZcWbbmllanN6eWNoIGltcG9ydMOzdyAtIHVzdW5pxJl0ZSBzxIUgdHlsa28gdGUgZGVza3J5cHRvcnksIGt0w7NyZSBuaWUgbWFqxIUgendpxIV6a3UgeiBsaXRlcmF0dXLEhSBwb2RtaW90b3fEhQ0KemFwaXN5IDwtIFJKREJDOjpkYkdldFF1ZXJ5KFBCTCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VsZWN0IHouemFfemFwaXNfaWQsIHouemFfc3RhdHVzX2ltcCwgei56YV91d2FnaSwgei56YV9hZG5vdGFjamUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHBibF96YXBpc3kgeg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHouemFfdXdhZ2kgbGlrZSAnJWltcG9ydCUnIikgJT4lDQogIG11dGF0ZShwcmFjb3duaWtfcGJsID0gc3RyX2V4dHJhY3QoWkFfVVdBR0ksICIoPzw9YWtjZXB0dWplOikoW0EtWl0qKSIpKSAlPiUNCiAgc2VsZWN0KFpBX1pBUElTX0lELHByYWNvd25pa19wYmwsWkFfU1RBVFVTX0lNUCxaQV9BRE5PVEFDSkUpDQojYWt0dWFsaXphY2phIC0gZG9kYWogZG8gc2tyeXB0dSBsaXN0xJkgeiBvc3RhdG5pbSBicmFrdWrEhWN5bSB6YWltcG9ydG93YW55bSByb2N6bmlraWVtDQpkb19pbXBvcnR1X05JRSA8LSByYmluZChsaXN0eV8yMDA0LGxpc3R5XzIwMDUsbGlzdHlfMjAwNixsaXN0eV8yMDA3LGxpc3R5XzIwMDgsIGxpc3R5XzIwMDksIGxpc3R5XzIwMTApICU+JQ0KICBmdWxsX2pvaW4oLix6YXBpc3ksYnkgPSAiWkFfWkFQSVNfSUQiKSAlPiUNCiAgc2VsZWN0KFg2NTAsWDY1NSxaQV9TVEFUVVNfSU1QLFpBX0FETk9UQUNKRSkgJT4lDQogIG11dGF0ZShYNjUwID0gc3RyX3JlbW92ZV9hbGwoWDY1MCwiXFxcXDciKSwNCiAgICAgICAgIFg2NTUgPSBzdHJfcmVtb3ZlX2FsbChYNjU1LCJcXFxcNyIpLA0KICAgICAgICAgam9pbnQgPSBwYXN0ZShYNjUwLFg2NTUsc2VwID0gIn4iKSkgJT4lDQogIHNlbGVjdChaQV9TVEFUVVNfSU1QLGpvaW50LFpBX0FETk9UQUNKRSkgJT4lDQogIGdyb3VwX2J5KGpvaW50KSAlPiUNCiAgbXV0YXRlKGdydXBhID0gcGFzdGUoWkFfU1RBVFVTX0lNUCxjb2xsYXBzZSA9ICIsIiksDQogICAgICAgICBaQV9BRE5PVEFDSkUgPSBwYXN0ZShaQV9BRE5PVEFDSkUsY29sbGFwc2UgPSAiLCIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICBzZWxlY3Qoam9pbnQsIGdydXBhLFpBX0FETk9UQUNKRSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJyb3pwaXNhbmF8cm96cGlzYcSHfHJvenBpc2FuaWEiLFpBX0FETk9UQUNKRSkpICU+JSANCiAgbXV0YXRlKGlsZSA9IHN0cl9jb3VudChncnVwYSwiLCIpKzEpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIklOTyIsZ3J1cGEpKSAlPiUNCiAgZmlsdGVyKCFncmVwbCgiSU9LfElNUHxJUE58SVBDIixncnVwYSkpICU+JQ0KICBtdXRhdGUoY3p5ID0gc3RyX2RldGVjdChqb2ludCwiXFwkeVtcXGQtXSsgd1xcLiIpKSAlPiUNCiAgZmlsdGVyKGN6eT09RkFMU0UpICU+JQ0KICBzZWxlY3Qoam9pbnQpICU+JQ0KICBtdXRhdGUoam9pbnQgPSBzdHJfcmVtb3ZlX2FsbChzdHJfcmVwbGFjZV9hbGwoam9pbnQsIihcXCRhKSIsIlxcXFwjN1xcMSIpLCIjIikpICU+JQ0KICBtdXRhdGUoZG9fd3lyenVjZW5pYV9uYV9wb2RzdGF3aWVfSU5PID0gInRhayIpDQoNCmJuX29rIDwtIGJuX29rICU+JQ0KICBtdXRhdGUoWDY1MCA9IGlmZWxzZShYNjUwPT0iIixOQSxhcy5jaGFyYWN0ZXIoWDY1MCkpLA0KICAgICAgICAgWDY1NSA9IGlmZWxzZShYNjU1PT0iIixOQSxhcy5jaGFyYWN0ZXIoWDY1NSkpLA0KICAgICAgICAgam9pbnQgPSBwYXN0ZShYNjUwLFg2NTUsc2VwID0gIn4iKSkgJT4lDQogIGxlZnRfam9pbiguLGRvX2ltcG9ydHVfTklFLGJ5ID0gImpvaW50IikgJT4lDQogIG11dGF0ZShYNjUwID0gaWZlbHNlKGlzLm5hKFg2NTApLCIiLGFzLmNoYXJhY3RlcihYNjUwKSksDQogICAgICAgICBYNjU1ID0gaWZlbHNlKGlzLm5hKFg2NTUpLCIiLGFzLmNoYXJhY3RlcihYNjU1KSkpDQoNCmRvX2ltcG9ydHVfTklFIDwtIGJuX29rICU+JQ0KICBmaWx0ZXIoaXMubmEob3NvYmFfYm5fYXV0b3IpJmlzLm5hKG9zb2JhX2JuX3RlbWF0KSZpcy5uYShzbG93YV9saXRlcmFja2llKSZkb193eXJ6dWNlbmlhX25hX3BvZHN0YXdpZV9JTk89PSJ0YWsiKSAlPiUNCiAgZmlsdGVyKCFncmVwbCgibGl0ZXJhdHxsaXRlcmFjfHBhbWnEmXRuaWt8cGlzYXIiLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKSkNCg0KYm5fb2sgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICBmcm9tIGJuX29rIGENCiAgICAgICAgICAgICAgIHdoZXJlIGEuaWQgbm90IGluIChzZWxlY3QgYi5pZCBmcm9tIGRvX2ltcG9ydHVfTklFIGIpIikgJT4lDQogIHNlbGVjdCgtam9pbnQsLWRvX3d5cnp1Y2VuaWFfbmFfcG9kc3Rhd2llX0lOTykNCg0KI3VzdW5pxJljaWUgbmEgcG9kc3Rhd2llIHRhYmVsIEtQDQpvdXQgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMWxPX1p0d3lCRGVQR3FYa2dXeWtfV21HZVFCYUFRQnZFVWpObmN0cnctdmciKSAlPiUNCiAgZmlsdGVyKHdjaG9kemlfZG9fcGJsID09ICJuaWUiKQ0KDQpLUF9vdXQgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihncmVwbCgiV3lkYXduaWN0d2EgcG9wdWxhcm5lIixYNjU1KSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmdWxsX2pvaW4oLixvdXQsYnkgPSAiWDY1MCIpICU+JQ0KICBmaWx0ZXIod2Nob2R6aV9kb19wYmw9PSJuaWUiKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShYNjU1KSkgJT4lDQogIHNlbGVjdChpZCkNCg0KYm5fb2sgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICBmcm9tIGJuX29rIGENCiAgICAgICAgICAgICAgIHdoZXJlIGEuaWQgbm90IGluIChzZWxlY3QgYi5pZCBmcm9tIEtQX291dCBiKSIpDQoNCiNjenkgcHLDs2Jvd2HEhyB3eXJ6dWNhxIcgcG8gVUtELCBrdMOzcmUgZG9zdGF3YcWCbyB0eWxrbyBJTk8/DQojYWt0dWFsaXphY2phIC0gZG9kYWogZG8gc2tyeXB0dSBsaXN0xJkgeiBvc3RhdG5pbSBicmFrdWrEhWN5bSB6YWltcG9ydG93YW55bSByb2N6bmlraWVtDQpkb19pbXBvcnR1X05JRTIgPC0gcmJpbmQobGlzdHlfMjAwNCxsaXN0eV8yMDA1LGxpc3R5XzIwMDYsbGlzdHlfMjAwNyxsaXN0eV8yMDA4LCBsaXN0eV8yMDA5LCBsaXN0eV8yMDEwKSAlPiUNCiAgZnVsbF9qb2luKC4semFwaXN5LGJ5ID0gIlpBX1pBUElTX0lEIikgJT4lDQogIHNlbGVjdChYMDgwLFpBX1NUQVRVU19JTVApICU+JQ0KICBtdXRhdGUoWDA4MCA9IHN0cl9yZW1vdmVfYWxsKFgwODAsIlxcXFwiKSkgJT4lDQogIHNlbGVjdChaQV9TVEFUVVNfSU1QLFgwODApICU+JQ0KICBncm91cF9ieShYMDgwKSAlPiUNCiAgbXV0YXRlKGdydXBhID0gcGFzdGUoWkFfU1RBVFVTX0lNUCxjb2xsYXBzZSA9ICIsIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHNlbGVjdChYMDgwLCBncnVwYSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoaWxlID0gc3RyX2NvdW50KGdydXBhLCIsIikrMSkgJT4lDQogIGZpbHRlcihncmVwbCgiSU5PIixncnVwYSkpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJJT0t8SU1QfElQTnxJUEMiLGdydXBhKSkgJT4lDQojdHUgc2nEmSBtdXNpIEtQIHd5cG93aWVkemllxIcsIGN6eSBqYWsgYnnFgm8gMnhOSUUgdG8gd3lzdGFyY3p5LCDFvGVieSB3eXdhbGHEhw0KIyAgZmlsdGVyKGlsZSA+IDEpICU+JQ0KICBzZWxlY3QoWDA4MCkgJT4lDQogIG11dGF0ZShYMDgwID0gcGFzdGUoIlxcIixzdHJfcmVtb3ZlX2FsbChzdHJfcmVwbGFjZV9hbGwoWDA4MCwiKFxcJGEpIiwiXFxcXCNcXDEiKSwiIyIpLHNlcCA9ICIiKSkgJT4lDQogIG11dGF0ZShkb193eXJ6dWNlbmlhX25hX3BvZHN0YXdpZV9JTk8gPSAidGFrIikNCg0KI25hIHBvZHN0YXdpZSBVS0QgdGXFvCB3eXJ6dWNpxIcgLSBkZWN5emphIEtQDQpibl9vayA8LSBibl9vayAlPiUNCiAgZnVsbF9qb2luKC4sZG9faW1wb3J0dV9OSUUyLGJ5ID0gIlgwODAiKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShpZCkpDQoNCmRvX2ltcG9ydHVfTklFMiA8LSBibl9vayAlPiUNCiAgZmlsdGVyKGlzLm5hKG9zb2JhX2JuX2F1dG9yKSZpcy5uYShvc29iYV9ibl90ZW1hdCkmaXMubmEoc2xvd2FfbGl0ZXJhY2tpZSkmZG9fd3lyenVjZW5pYV9uYV9wb2RzdGF3aWVfSU5PPT0idGFrIikNCg0KYm5fb2sgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICBmcm9tIGJuX29rIGENCiAgICAgICAgICAgICAgIHdoZXJlIGEuaWQgbm90IGluIChzZWxlY3QgYi5pZCBmcm9tIGRvX2ltcG9ydHVfTklFMiBiKSIpICU+JQ0KICBzZWxlY3QoLWRvX3d5cnp1Y2VuaWFfbmFfcG9kc3Rhd2llX0lOTykNCg0KI3Jlc3p0YSByZWtvcmTDs3csIGt0w7NyZSBuaWUgYsSZZMSFIHphaW1wb3J0b3dhbmUNCnJlc3p0YSA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgIGZyb20gYm5fa3MgYQ0KICAgICAgICAgICAgICAgd2hlcmUgYS5pZCBub3QgaW4gDQogICAgICAgICAgICAgICAoc2VsZWN0IGIuaWQNCiAgICAgICAgICAgICAgIGZyb20gYm5fb2sgYikiKQ0KY2h1bms0IDwtIGJuX29rDQpgYGANCg0KYGBge3IgcHJ6eXBpc2FuaWUga3NpxIXFvGNlIHJvZHphanUgKHBvZG1pb3Rvd2EsIHByemVkbWlvdG93YSwgYW50b2xvZ2llLCB3c3DDs8WCd3lkYW5pZSl9DQpibl9vayA8LSBjaHVuazQNCnN0YXJlX3JvZHpham93YW5pZSA8LSBibl9vayAlPiUNCiAgbXV0YXRlKGN6eV9tYV91a2QgPSBpZmVsc2UoWDA4MD09IiIsIm5pZSIsInRhayIpLA0KICAgICAgICAgcG9zaXRpb25fZGFzaCA9IGlmZWxzZShncmVwbCgiKFxcXFxcXFxcXFwkYXw6KSg4MjFcXC4pIixYMDgwKSxzdHJfbG9jYXRlKFgwODAsIlxcLSIpWywxXSwgTkEpLA0KICAgICAgICAgcG9zaXRpb25fZGFzaCA9IGlmZWxzZShpcy5uYShwb3NpdGlvbl9kYXNoKSwiIixhcy5pbnRlZ2VyKHBvc2l0aW9uX2Rhc2gpKSwNCiAgICAgICAgIHBvc2l0aW9uXzA5MSA9IHN0cl9sb2NhdGUoWDA4MCwiXFwoMDkxXFwpIilbLDFdLA0KICAgICAgICAgcG9zaXRpb25fMDkxID0gaWZlbHNlKGlzLm5hKHBvc2l0aW9uXzA5MSksIiIsYXMuaW50ZWdlcihwb3NpdGlvbl8wOTEpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGdyZXBsKCJBbnRvbG9naSIsWDY1NSksImFudG9sb2dpYSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocG9zaXRpb25fMDkxIT0iIiZwb3NpdGlvbl9kYXNoIT0iIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGFzLmludGVnZXIocG9zaXRpb25fMDkxKTxhcy5pbnRlZ2VyKHBvc2l0aW9uX2Rhc2gpLCAicHJ6ZWRtaW90b3dhIiwgInBvZG1pb3Rvd2EiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHBvc2l0aW9uX2Rhc2ghPSIiLCJwb2RtaW90b3dhIiwicHJ6ZWRtaW90b3dhIikpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGN6eV9tYV91a2Q9PSJuaWUiLCIiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpKQ0KZ2F0dW5raV9wb2RtaW90b3dlIDwtIHN0YXJlX3JvZHpham93YW5pZSAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIpICU+JQ0KICBzZWxlY3QoWDY1NSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBjU3BsaXQoLiwiWDY1NSIsc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIoc3RyX2RldGVjdChYNjU1LCJcXCR5W1xcZC1dKyB3XFwuIikpDQpnYXR1bmtpX3BvZG1pb3Rvd2UgPC0gc3RyX3JlcGxhY2VfYWxsKHN0cl9yZXBsYWNlX2FsbChwYXN0ZShnYXR1bmtpX3BvZG1pb3Rvd2UkWDY1NSxjb2xsYXBzZSA9ICJ8IiksIiguezJ9KShcXCRhKSIsIlxcMiIpLCJcXCQiLCJcXFxcJCIpDQpzdGFyZV9yb2R6YWpvd2FuaWUkY3p5X3BvZG1pb3Rvd3kgPC0gZ3JlcGwoZ2F0dW5raV9wb2RtaW90b3dlLHN0YXJlX3JvZHpham93YW5pZSRYNjU1KXxncmVwbChnYXR1bmtpX3BvZG1pb3Rvd2Usc3RhcmVfcm9kemFqb3dhbmllJFg2NTApDQpzdGFyZV9yb2R6YWpvd2FuaWUgPC0gc3RhcmVfcm9kemFqb3dhbmllICU+JQ0KICBtdXRhdGUocm9kemFqX2tzaWF6a2kgPSBpZmVsc2Uoc3RyX2NvdW50KFgyNDUsICIgLyAiKSsxPjIsImFudG9sb2dpYSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2Uoc3RyX2NvdW50KFgyNDUsICIgLyAiKSsxPT0yLCJ3c3DDs8WCd3lkYW5pZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHJvZHphal9rc2lhemtpPT0iIiZjenlfcG9kbWlvdG93eT09VFJVRSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1MCkmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTUpLCJwb2RtaW90b3dhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFgxMDAhPSIiJmdyZXBsKCJhUGFtacSZdG5pa3xhTGl0ZXJhdHVyYSBwb2Ryw7PFvG5pY3phIixYNjU1KSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1MCkmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTUpLCJwb2RtaW90b3dhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShYMTAwIT0iIiZncmVwbCgiYVJlcG9ydGHFvCIsWDY1NSkmZ3JlcGwoIlxcJHkiLFg2NTUpJiFncmVwbCgieGhpc3RvcmlhfHh0ZW1hdHlrYXx4YmlvZ3JhZmlhIixYNjUwKSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1NSksInBvZG1pb3Rvd2EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShYMTAwIT0iIiYoWDY1NT09IlxcNyRhUmVwb3J0YcW8IHBvbHNraSQyREJOInxYNjU1PT0iXFw3JGFSZXBvcnRhxbwkMkRCTiIpJiFncmVwbCgieGhpc3RvcmlhfHh0ZW1hdHlrYXx4YmlvZ3JhZmlhIixYNjUwKSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1NSksInBvZG1pb3Rvd2EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2Uocm9kemFqX2tzaWF6a2k9PSIiJmN6eV9wb2RtaW90b3d5PT1GQUxTRSwicHJ6ZWRtaW90b3dhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSkpKSkpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKHJvZHphal9rc2lhemtpPT0iIiwicHJ6ZWRtaW90b3dhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGdyZXBsKCJMZWt0dXJ5IFdzemVjaCBDemFzw7N3IDogc3RyZXN6Y3plbmllLCBhbmFsaXphLCBpbnRlcnByZXRhY2phfExla3R1cnkgV3N6ZWNoIEN6YXPDs3cgLSBMaXRlcmF0fEJpYmxpb3RlY3prYSBPcHJhY293YcWEIixYNDkwKXxncmVwbCgiTGVrdHVyeSBXc3plY2ggQ3phc8OzdyA6IHN0cmVzemN6ZW5pZSwgYW5hbGl6YSwgaW50ZXJwcmV0YWNqYXxMZWt0dXJ5IFdzemVjaCBDemFzw7N3IC0gTGl0ZXJhdHxCaWJsaW90ZWN6a2EgT3ByYWNvd2HFhCIsWDgzMCksInByemVkbWlvdG93YSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSksDQogICAgICAgICBpbHVfdHdvcmNvdyA9IHN0cl9jb3VudChYMTAwLCJcXCRhIiksDQogICAgICAgICByb2R6YWpfa3NpYXpraSA9IGlmZWxzZShpbHVfdHdvcmNvdz40JnJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIsImFudG9sb2dpYSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSksDQogICAgICAgICByb2R6YWpfa3NpYXpraSA9IGlmZWxzZShncmVwbCgiTGVnZW5keSIsWDY1NSksImFudG9sb2dpYSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSkpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoImthdGFsb2cgd3lzdGF3eSIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpJnJvZHphal9rc2lhemtpPT0icHJ6ZWRtaW90b3dhIikgJT4lIA0KICBzZWxlY3QoaWQpDQoNCiMjd8WCYcWbY2l3ZSByb2R6YWpvd2FuaWUgeiB1d2FnbMSZZG5pZW5pZW0gamVkbmVnbyBlbGVtZW50dSB6ZSBzdGFyZWdvIHJvZHpham93YW5pYQ0KYm5fb2sgPC0gYm5fb2sgJT4lDQogIG11dGF0ZShjenlfbWFfdWtkID0gaWZlbHNlKFgwODA9PSIiLCJuaWUiLCJ0YWsiKSwNCiAgICAgICAgIHBvc2l0aW9uX2Rhc2ggPSBpZmVsc2UoZ3JlcGwoIihcXFxcXFxcXFxcJGF8OikoODIxXFwuKSIsWDA4MCksc3RyX2xvY2F0ZShzdHJfcmVwbGFjZShYMDgwLCIoLio/KShcXCRhODIxXFwuKSguKj8kKSIsIlxcMlxcMyIpLCJcXC0iKVssMV0rbmNoYXIoc3RyX3JlcGxhY2UoWDA4MCwiKC4qPykoXFwkYTgyMVxcLikoLio/JCkiLCJcXDEiKSksIE5BKSwNCiAgICAgICAgIHBvc2l0aW9uX2Rhc2ggPSBpZmVsc2UoaXMubmEocG9zaXRpb25fZGFzaCksIiIsYXMuaW50ZWdlcihwb3NpdGlvbl9kYXNoKSksDQogICAgICAgICBwb3NpdGlvbl8wOTEgPSBzdHJfbG9jYXRlKFgwODAsIlxcKDA5MVxcKSIpWywxXSwNCiAgICAgICAgIHBvc2l0aW9uXzA5MSA9IGlmZWxzZShpcy5uYShwb3NpdGlvbl8wOTEpLCIiLGFzLmludGVnZXIocG9zaXRpb25fMDkxKSksDQogICAgICAgICByb2R6YWpfa3NpYXpraSA9IGlmZWxzZShncmVwbCgiYW50b2xvZ2l8UHJ6eXPFgm93aWEgW1xcU10rXFwkMnxDeXRhdHlcXCQyIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSksImFudG9sb2dpYSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocG9zaXRpb25fMDkxIT0iIiZwb3NpdGlvbl9kYXNoIT0iIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGFzLmludGVnZXIocG9zaXRpb25fMDkxKTxhcy5pbnRlZ2VyKHBvc2l0aW9uX2Rhc2gpLCAicHJ6ZWRtaW90b3dhIiwgInBvZG1pb3Rvd2EiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHBvc2l0aW9uX2Rhc2ghPSIiLCJwb2RtaW90b3dhIiwicHJ6ZWRtaW90b3dhIikpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGN6eV9tYV91a2Q9PSJuaWUiLCIiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpLA0KICAgICAgICAgcm9kemFqX2tzaWF6a2kgPSBpZmVsc2UoZ3JlcGwoIjgyLTkzIixYMDgwKSZyb2R6YWpfa3NpYXpraSE9ImFudG9sb2dpYSIsInBvZG1pb3Rvd2EiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpKQ0KDQpyZWtvcmR5X3BvZG1pb3Rvd2Vfc3RhcmUgPC0gZGJHZXRRdWVyeShQQkwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VsZWN0IHouemFfemFwaXNfaWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHBibF96YXBpc3kgeg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW4gSUJMX09XTkVSLnBibF9yb2R6YWplX3phcGlzb3cgcnogb24gcnoucnpfcm9kemFqX2lkPXouemFfcnpfcm9kemFqMV9pZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHJ6LnJ6X3JvZHphal9pZD0xDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHouemFfdXdhZ2kgbGlrZSAnJWltcG9ydCUnIikNCiNha3R1YWxpemFjamEgLSBkb2RhaiBkbyBza3J5cHR1IGxpc3TEmSB6IG9zdGF0bmltIGJyYWt1asSFY3ltIHphaW1wb3J0b3dhbnltIHJvY3puaWtpZW0NCmdhdHVua2lfcG9wcnplZG5pZV9pbXAgPC0gcmJpbmQobGlzdHlfMjAwNCxsaXN0eV8yMDA1LGxpc3R5XzIwMDYsbGlzdHlfMjAwNyxsaXN0eV8yMDA4LCBsaXN0eV8yMDA5LCBsaXN0eV8yMDEwKSAlPiUgDQogIGZpbHRlcihaQV9aQVBJU19JRCAlaW4lIHJla29yZHlfcG9kbWlvdG93ZV9zdGFyZSRaQV9aQVBJU19JRCkgJT4lIA0KICBtdXRhdGUoWDY1NSA9IGlmZWxzZShyb2s9PTIwMDQsc3RyX3JlbW92ZV9hbGwoc3RyX3JlcGxhY2VfYWxsKFg2NTUsIihcXCRhKSIsIlxcXFwjN1xcMSIpLCIjIiksYXMuY2hhcmFjdGVyKFg2NTUpKSkgJT4lIA0KICBzZWxlY3QoWDY1NSkgJT4lIA0KICB1bmlxdWUoKQ0KDQpnYXR1bmtpX3BvZG1pb3Rvd2UgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiKSAlPiUNCiAgc2VsZWN0KFg2NTUpICU+JQ0KICBiaW5kX3Jvd3MoLixnYXR1bmtpX3BvcHJ6ZWRuaWVfaW1wKSAlPiUgDQogIHVuaXF1ZSgpICU+JQ0KICBjU3BsaXQoLiwiWDY1NSIsc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTUpKSAlPiUgDQogIGZpbHRlcihzdHJfZGV0ZWN0KFg2NTUsIlxcJHlbXFxkLV0rIHdcXC4iKSwgDQogICAgICAgICBncmVwbCgiKCBcXFMrKShcXCR5KSguKj8kKSIsIFg2NTUpKSAlPiUgDQogICNtdXRhdGUoWDY1NSA9IHN0cl9yZXBsYWNlKFg2NTUsICIoPzw9ICkoXFxTKykoXFwkeSkoLio/JCkiLCAiW1xcXFxTXStcXDIiKSkgJT4lIA0KICBtdXRhdGUoWDY1NSA9IHN0cl9yZXBsYWNlKFg2NTUsICIoPzw9ICkoXFxTKykoXFwkeSkoLio/JCkiLCAiLitcXDIiKSkgJT4lIA0KICB1bmlxdWUoKQ0KDQpnYXR1bmtpX3BvZG1pb3Rvd2UgPC0gc3RyX3JlcGxhY2VfYWxsKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVwbGFjZV9hbGwocGFzdGUoZ2F0dW5raV9wb2RtaW90b3dlJFg2NTUsY29sbGFwc2UgPSAifCIpLCIoLnsyfSkoXFwkYSkiLCJcXDIiKSwiXFwkIiwiXFxcXCQiKSwgIlxcKCIsICJcXFxcXFwoIikNCmJuX29rJGN6eV9wb2RtaW90b3d5IDwtIGdyZXBsKGdhdHVua2lfcG9kbWlvdG93ZSxibl9vayRYNjU1KXxncmVwbChnYXR1bmtpX3BvZG1pb3Rvd2UsYm5fb2skWDY1MCkNCmJuX29rIDwtIGJuX29rICU+JQ0KICBtdXRhdGUocm9kemFqX2tzaWF6a2kgPSBpZmVsc2Uoc3RyX2NvdW50KFgyNDUsICIgXFwvICIpKzE+MiwiYW50b2xvZ2lhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShzdHJfY291bnQoWDI0NSwgIiBcXC8gXFxbezAsMX1bQS1aQcOBw4DDgsODw4TEgsSAw4XEhMOGRcOJw4jDisOLxJrEksSWxJhJw43DjMOOw4/EqsSuSU/Dk8OSw5TDlcOWxZDDmMWSVcOaw5nDm8OcxbDFqsWvWcOdQ8SGxIzDp0TEjsSQxJBHxKLEnkvEtkzFgcS7TsWDw5HFh8WFxYpSxZhTxZrFoMWeU8OfVMWkxabDnsWiOFrFu8W5xb1dIikrMT09Miwid3Nww7PFgnd5ZGFuaWUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyb2R6YWpfa3NpYXpraT09IiImY3p5X3BvZG1pb3Rvd3k9PVRSVUUmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTApJiFncmVwbCgieGhpc3RvcmlhfHh0ZW1hdHlrYXx4YmlvZ3JhZmlhIixYNjU1KSwicG9kbWlvdG93YSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShYMTAwIT0iIiZncmVwbCgiYVBhbWnEmXRuaWt8YUxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSIsWDY1NSkmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTApJiFncmVwbCgieGhpc3RvcmlhfHh0ZW1hdHlrYXx4YmlvZ3JhZmlhIixYNjU1KSwicG9kbWlvdG93YSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoWDEwMCE9IiImZ3JlcGwoImFSZXBvcnRhxbwiLFg2NTUpJmdyZXBsKCJcXCR5IixYNjU1KSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1MCkmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTUpLCJwb2RtaW90b3dhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoWDEwMCE9IiImKFg2NTU9PSJcXDckYVJlcG9ydGHFvCBwb2xza2kkMkRCTiJ8WDY1NT09IlxcNyRhUmVwb3J0YcW8JDJEQk4iKSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1MCkmIWdyZXBsKCJ4aGlzdG9yaWF8eHRlbWF0eWthfHhiaW9ncmFmaWEiLFg2NTUpLCJwb2RtaW90b3dhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHJvZHphal9rc2lhemtpPT0iIiZjenlfcG9kbWlvdG93eT09RkFMU0UsInByemVkbWlvdG93YSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSkpKSkpKSksDQogICAgICAgICByb2R6YWpfa3NpYXpraSA9IGlmZWxzZShyb2R6YWpfa3NpYXpraT09IiIsInByemVkbWlvdG93YSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSksDQogICAgICAgICByb2R6YWpfa3NpYXpraSA9IGlmZWxzZShncmVwbCgiTGVrdHVyeSBXc3plY2ggQ3phc8OzdyBcXDogc3RyZXN6Y3plbmllLCBhbmFsaXphLCBpbnRlcnByZXRhY2phfExla3R1cnkgV3N6ZWNoIEN6YXPDs3cgLSBMaXRlcmF0fEJpYmxpb3RlY3prYSBPcHJhY293YcWEIixYNDkwKXxncmVwbCgiTGVrdHVyeSBXc3plY2ggQ3phc8OzdyBcXDogc3RyZXN6Y3plbmllLCBhbmFsaXphLCBpbnRlcnByZXRhY2phfExla3R1cnkgV3N6ZWNoIEN6YXPDs3cgLSBMaXRlcmF0fEJpYmxpb3RlY3prYSBPcHJhY293YcWEIixYODMwKSwicHJ6ZWRtaW90b3dhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGdyZXBsKCJhTGVrdHVyYSB6IE9wcmFjb3dhbmllbSAtIFppZWxvbmEgU293YXxhTGVrdHVyYSBcXChHcmVnXFwpfGFMZWt0dXJhIERvYnJ6ZSBPcHJhY293YW5hfGFMZWt0dXJhIHogT3ByYWNvd2FuaWVtIC0gSWJpcyIsWDgzMCksInBvZG1pb3Rvd2EiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpLA0KICAgICAgICAgaWx1X3R3b3Jjb3cgPSBzdHJfY291bnQoWDEwMCwiXFwkYSIpLA0KICAgICAgICAgcm9kemFqX2tzaWF6a2kgPSBpZmVsc2UoaWx1X3R3b3Jjb3c+NCZyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiLCJhbnRvbG9naWEiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpLA0KICAgICAgICAgcm9kemFqX2tzaWF6a2kgPSBpZmVsc2UoZ3JlcGwoIkxlZ2VuZHl8XFwkdmFudG9sb2dpIixYNjU1KSwiYW50b2xvZ2lhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKHN0cl9jb3VudChYMTAwLCAiXFx8Iik9PTAmWDEwMCE9IiImcm9kemFqX2tzaWF6a2k9PSJhbnRvbG9naWEiJmdyZXBsKCJMZWdlbmR5IGkgcG9kYW5pYXxBbnRvbG9naWEiLFg2NTUpLCJwb2RtaW90b3dhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKFgxMDA9PSIiJnN0cl9jb3VudChYNzAwLCJcXCR0Iik9PTMmZ3JlcGwoIkhhcmxlcXVpbiIsWDI2MCksImFudG9sb2dpYSIsYXMuY2hhcmFjdGVyKHJvZHphal9rc2lhemtpKSkpICU+JQ0KICBzZWxlY3QoMTozNCxyb2R6YWpfa3NpYXpraSkNCg0KDQojIHByenlwaXNhbmlhIGRvIHBvZG1pb3Rvd2VqIG5hIHBvZHN0YXdpZSBzbWllcmNpIHByemVkIDE3MDANCm1hcmNfZmllbGRfMTAwIDwtIGJuX29rICU+JQ0KICBmaWx0ZXIoIWlzLm5hKG9zb2JhX2JuX2F1dG9yKSkgJT4lDQogIHNlbGVjdChpZCxYMTAwKSU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJcXHwiLCBYMTAwKSkgJT4lIA0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMTAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlbW92ZV9hbGwoWDEwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGJuX29rJFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm1hcmNfZmllbGRfMTAwIDwtIG1hcmNfZmllbGRfMTAwICU+JSANCiAgZmlsdGVyKCFpcy5uYShgJGRgKSAmIHN0cl9leHRyYWN0KGAkZGAsICJcXGQrKD8hLipcXGQrKSIpIDwgMTcwMCkNCg0KYm5fb2sgPC0gYm5fb2sgJT4lIA0KICBtdXRhdGUocm9kemFqX2tzaWF6a2kgPSBpZmVsc2UoaWQgJWluJSBtYXJjX2ZpZWxkXzEwMCRpZCwgInBvZG1pb3Rvd2EiLCBhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKGlkICVpbiUgc3RhcmVfcm9kemFqb3dhbmllJGlkLCAicHJ6ZWRtaW90b3dhIixhcy5jaGFyYWN0ZXIocm9kemFqX2tzaWF6a2kpKSwNCiAgICAgICAgIHJvZHphal9rc2lhemtpID0gaWZlbHNlKFgwODA9PSJcXFxcJGE4Mi0xLy05KDAuMDU0KSImcm9kemFqX2tzaWF6a2k9PSJwcnplZG1pb3Rvd2EiJiFncmVwbCgieGhpc3RvcmlhfHh0ZW1hdHlrYXx4YmlvZ3JhZmlhIixYNjUwKSYhZ3JlcGwoInhoaXN0b3JpYXx4dGVtYXR5a2F8eGJpb2dyYWZpYSIsWDY1NSksInBvZG1pb3Rvd2EiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpLA0KICAgICAgICAgcm9kemFqX2tzaWF6a2kgPSBpZmVsc2Uocm9kemFqX2tzaWF6a2k9PSJwb2RtaW90b3dhIiZncmVwbCgiYXV0XFwuIixYMjQ1KSZncmVwbCgiZXQgYWxcXC4iLFgyNDUpLCJhbnRvbG9naWEiLGFzLmNoYXJhY3Rlcihyb2R6YWpfa3NpYXpraSkpKQ0KY2h1bms1IDwtIGJuX29rDQpgYGANCg0KYGBge3Igd3l6bmFjemVuaWUgemJpb3J1IGF1dG9tYXR5Y3puaWUgSU9LfQ0KYm5fb2sgPC0gY2h1bms1DQpJT0tfcG9kbSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKCFncmVwbCgiXFwkdCIsWDcwMCkpICU+JQ0KICBtdXRhdGUoaWxlX2dhdHVua293ID0gaWZlbHNlKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIsc3RyX2NvdW50KFg2NTUsIlxcJGEiKSwibmllIiksDQogICAgICAgICB0eWxrb19wb2RtaW90b3dlID0gaWZlbHNlKHN0cl9jb3VudChYNjU1LCJcXCRhIik+MCZzdHJfY291bnQoWDY1NSwiXFwkYSIpPT1zdHJfY291bnQoWDY1NSwiXFwkeSIpJnN0cl9jb3VudChYNjU1LCJcXCR5IikhPXN0cl9jb3VudChYNjU1LCJcXCR4IiksInRhayIsIm5pZSIpKSAlPiUNCiAgZmlsdGVyKHN0cl9jb3VudChYMTAwLCJcXCRhIik9PTEpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJwc2V1ZHxuYXp3YSIsWDUwMCxpZ25vcmUuY2FzZSA9IFRSVUUpJlg1MDE9PSIiJih0eWxrb19wb2RtaW90b3dlPT0idGFrInxpbGVfZ2F0dW5rb3c9PSIxIikmWDEwMCE9IiIpDQoNCiN6ZXN0YXdpZW5pZSAxMDAgaSAyNDUNCiMxMDANCm1hcmNfZmllbGRfMTAwIDwtIElPS19wb2RtICU+JQ0KICBzZWxlY3QoaWQsWDEwMCklPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlcGxhY2VfYWxsKFgxMDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDEwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZW1vdmVfYWxsKFgxMDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChJT0tfcG9kbSRYMTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzEwMDwtY2JpbmQobWFyY19maWVsZF8xMDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8xMDAkWDEwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzEwMCRYMTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzEwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzEwMCRYMTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8xMDAkWDEwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF8xMDAgPC0gbWFyY19maWVsZF8xMDAgJT4lDQogIHNlbGVjdChpZCxgJGFgKSAlPiUNCiAgbXV0YXRlKGJuX25hendpc2tvID0gaWZlbHNlKHN0cl9kZXRlY3QoYCRhYCwiLCIpLHN0cl9yZXBsYWNlKGAkYWAsIl4oLio/KSgsICkoLio/JCkiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpLA0KICAgICAgICAgYm5faW1pZSA9IGlmZWxzZShzdHJfZGV0ZWN0KGAkYWAsIiwiKSxzdHJfcmVwbGFjZShgJGFgLCJeKC4qPykoLCApKC4qPyQpIiwiXFwzIiksIiIpKSAlPiUNCiAgc2VsZWN0KGlkLGJuX25hendpc2tvLGJuX2ltaWUpDQoNCklPS19wb2RtIDwtIElPS19wb2RtICU+JQ0KICBmdWxsX2pvaW4oLixtYXJjX2ZpZWxkXzEwMCxieSA9ICJpZCIpDQoNCnggPC0gMTpsZW5ndGgoSU9LX3BvZG0kaWQpDQpmb3IgKGkgaW4geCkgew0KICANCiAgSU9LX3BvZG0kY3p5X25hendpc2tvW2ldIDwtIGdyZXBsKElPS19wb2RtJGJuX25hendpc2tvW2ldLElPS19wb2RtJFgyNDVbaV0pDQogIElPS19wb2RtJGN6eV9pbWllW2ldIDwtIGdyZXBsKElPS19wb2RtJGJuX2ltaWVbaV0sSU9LX3BvZG0kWDI0NVtpXSkNCiAgDQp9DQojdXN1bmnEmWNpZSB0eWNoLCBrdMOzcmUgbmllIG1hasSFIHR5dHXFgsOzdyBvcnlnaW5hbG55Y2gNCklPS19wb2RtIDwtIElPS19wb2RtICU+JQ0KICBmaWx0ZXIoY3p5X25hendpc2tvPT0xJmN6eV9pbWllPT0xJiFncmVwbCgiZXQgYWxcXC4iLFgyNDUpKSAlPiUNCiAgc2VsZWN0KC1ibl9uYXp3aXNrbywtYm5faW1pZSwtY3p5X25hendpc2tvLC1jenlfaW1pZSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoamV6eWsgPSBzdHJfZXh0cmFjdChYMDQxLCgiKD88PVxcJGgpKC4uLikiKSkpICU+JQ0KICBtdXRhdGUoY3p5X3R5dHVsX29iY3kgPSBpZmVsc2UoaXMubmEoamV6eWspLCJuaWUgZG90eWN6eSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoIWdyZXBsKCJwb2wiLGplenlrKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoWDI0NiE9IiIsIm9rIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJUeXRbLFxcLl0gb3J5ZyIsWDUwMSl8Z3JlcGwoIlR5dFssXFwuXSBvcnlnIixYNTAwKSwib2siLCJwcm9ibGVtIikpLCJuaWUgZG90eWN6eSIpKSkgJT4lDQogIGZpbHRlcihjenlfdHl0dWxfb2JjeSE9InByb2JsZW0iKSAlPiUNCiAgc2VsZWN0KGlkKSAlPiUNCiAgbXV0YXRlKGF1dG9tYXR5Y3puYV9wb2RtaW90b3dhID0gInRhayIpDQojIyN0dXRhaiBrb8WEY3rEhSBzacSZIGF1dG9tYXR5Y3puZSBwb2RtaW90b3dlDQpibl9vayA8LSBibl9vayAlPiUNCiAgZnVsbF9qb2luKC4sSU9LX3BvZG0sYnkgPSAiaWQiKSAlPiUNCiAgbXV0YXRlKGN6eV9hdXRvbWF0eWN6bmllID0gaWZlbHNlKCFpcy5uYShhdXRvbWF0eWN6bmFfcG9kbWlvdG93YSksInBvZG1pb3Rvd2EiLCJuaWUiKSkgJT4lDQogIHNlbGVjdCgtYXV0b21hdHljem5hX3BvZG1pb3Rvd2EpICU+JQ0KICBtdXRhdGUoY3p5X2F1dG9tYXR5Y3puaWUgPSBpZmVsc2UoY3p5X2F1dG9tYXR5Y3puaWU9PSJwb2RtaW90b3dhIiZyb2R6YWpfa3NpYXpraSE9InBvZG1pb3Rvd2EiLCJuaWUiLGFzLmNoYXJhY3RlcihjenlfYXV0b21hdHljem5pZSkpKQ0KDQojIyNjenkgaSBqYWsgYXV0b21hdHl6b3dhxIcgcHJ6ZWRtaW90b3fEhT8NCg0KI3dyaXRlLmNzdjIoYm5fb2ssICJDOi9Vc2Vycy9DZXphcnkvRGVza3RvcC9ibl9va18yMDA5LmNzdiIsIHJvdy5uYW1lcyA9IEYsIG5hID0gJycsIGZpbGVFbmNvZGluZyA9ICdVVEYtOCcpDQpjaHVuazYgPC0gYm5fb2sNCmBgYA0KDQpgYGB7ciB3eXpuYWN6ZW5pZSB6YmlvcnUgZG8gdXp1cGXFgm5pZW5pYSB3IHByenlzesWCb8WbY2l9DQpibl9vayA8LSBjaHVuazYNCg0KI3Byb3BvenljamExDQojbmEgcMOzxbpuaWVqIGtpZXJvd2FuZSBzxIUgd3N6eXN0a2llIGtzacSFxbxraSBwcnplZG1pb3Rvd2UsIGt0w7NyZSBtYWrEhSBiZXpfdWtkX1BCTCBsdWIgdWtkX3BvZ3JhbmljemUgaSBuaWUgc8SFIGJpYmxpxIUgb3JheiBrc2nEhcW8a2kgd3lkYW5lIHBvemEgUG9sc2vEhSwga3TDs3JlIG5pZSBwb3N6xYJ5IGRvIGF1dG9tYXR5Y3puZWdvIGltcG9ydHUgb3JheiBoYXJsZXF1aW55LCBrdMOzcmUgbmllIHBvc3rFgnkgZG8gYXV0b21hdHljem5lZ28gaW1wb3J0dQ0KbmFfcG96bmllaiA8LSBibl9vayAlPiUNCiAgZmlsdGVyKChpZiAoWDUwMT09IiIpICFncmVwbCgicGwiLHN1YnN0cihYMDA4LDE2LDE4KSkmIWdyZXBsKCJwb2wiLHN1YnN0cihYMDA4LDM2LDM4KSkmY3p5X2F1dG9tYXR5Y3puaWU9PSJuaWUiKXxjenlfYXV0b21hdHljem5pZT09Im5pZSImcm9kemFqX2tzaWF6a2k9PSJwcnplZG1pb3Rvd2EiJmR6aWVkemluYV9QQkwgJWluJSBjKCJiZXpfdWtkX1BCTCIsInVrZF9wb2dyYW5pY3plIikmKGN6eV9iaWJsaWEhPSJ0YWsifGlzLm5hKGN6eV9iaWJsaWEpKXxncmVwbCgiYXJsZXEiLFgyNjAsaWdub3JlLmNhc2UgPSBUUlVFKSZjenlfYXV0b21hdHljem5pZT09Im5pZSIpDQoNCiNiZXpwaWVjem5paw0KDQojcHJvcG96eWNqYTINCiNwcm9wb3p5Y2phLCBieSBraWVyb3dhxIcgbmEgcMOzxbpuaWVqIHdzenlzdGtpZSBrc2nEhcW8a2kgcHJ6ZWRtaW90b3dlIHogZHppZWR6aW55ICJiZXpfdWtkX1BCTCINCiMgbmFfcG96bmllaiA8LSBibl9vayAlPiUNCiMgICBmaWx0ZXIoY3p5X2F1dG9tYXR5Y3puaWU9PSJuaWUiJnJvZHphal9rc2lhemtpPT0icHJ6ZWRtaW90b3dhIiZkemllZHppbmFfUEJMPT0iYmV6X3VrZF9QQkwiJihjenlfYmlibGlhIT0idGFrInxpcy5uYShjenlfYmlibGlhKSkpDQoNCiMgI3Byb3BvenljamEzDQojIG5hX3Bvem5pZWogPC0gYm5fb2sgJT4lDQojICAgZmlsdGVyKGN6eV9hdXRvbWF0eWN6bmllPT0ibmllIiZyb2R6YWpfa3NpYXpraT09InByemVkbWlvdG93YSImZHppZWR6aW5hX1BCTCAlaW4lIGMoImJlel91a2RfUEJMIiwidWtkX3BvZ3JhbmljemUiKSYoY3p5X2JpYmxpYSE9InRhayJ8aXMubmEoY3p5X2JpYmxpYSkpKQ0KDQojcHJvcG96eWNqYTQNCiNzdGFyYSBvcGVyYWNqYQ0KIyBuYV9wb3puaWVqIDwtIGJuX29rICU+JQ0KIyAgIGZpbHRlcihjenlfYXV0b21hdHljem5pZT09Im5pZSImcm9kemFqX2tzaWF6a2k9PSJwcnplZG1pb3Rvd2EiJmR6aWVkemluYV9QQkw9PSJiZXpfdWtkX1BCTCIpICU+JQ0KIyAgIG11dGF0ZShrYXRlZ29yaWVfbGl0ZXJhY2tpZSA9IGlmZWxzZShncmVwbCgibWl0b2xvZ3xiYcWbfGJhamt8cG9lemp8bGlyeWt8ZXBpa3xkcmFtYXR8bGl0ZXJhY3xsaXRlcmF0fHBpc2FyfHdpZXJzenxwcm96fHBvd2llxZt8b3Bvd2lhZHxtaW5pYXR1cnxhZm9yeXptfGVzZWp8c3praWN8ZmVsaWV0fHJlcG9ydHxkemllbm5pfHdzcG9tbmllfGF1dG9iaW9ncmFmfGthemF8cm96bXnFm2x8bGlzdHxpbnRlcnByZXRhY2oiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgibWl0b2xvZ3xiYcWbfGJhamt8cG9lemp8bGlyeWt8ZXBpa3xkcmFtYXR8bGl0ZXJhY3xsaXRlcmF0fHBpc2FyfHdpZXJzenxwcm96fHBvd2llxZt8b3Bvd2lhZHxtaW5pYXR1cnxhZm9yeXptfGVzZWp8c3praWN8ZmVsaWV0fHJlcG9ydHxkemllbm5pfHdzcG9tbmllfGF1dG9iaW9ncmFmfGthemF8cm96bXnFm2x8bGlzdHxpbnRlcnByZXRhY2oiLFg2NTUsIGlnbm9yZS5jYXNlID0gVFJVRSksInRhayIsIm5pZSIpKSAlPiUNCiMgICBmaWx0ZXIoa2F0ZWdvcmllX2xpdGVyYWNraWU9PSJuaWUiKSAlPiUNCiMgICBtdXRhdGUobGF0YSA9IGlmZWxzZShncmVwbCgiXFxkezJ9LSIsWDEwMCksc3RyX3JlcGxhY2UoWDEwMCwiKC4qXFwkZFxcKC4qPykoXFxkezIsNH0pKFxcP3swLDF9LS4qKSIsIlxcMiIpLE5BKSwNCiMgICAgICAgICAgbGF0YV90ZW1hdCA9IGlmZWxzZShncmVwbCgiXFxkezJ9LSIsWDYwMCksc3RyX3JlcGxhY2UoWDYwMCwiKC4qXFwkZFxcKC4qPykoXFxkezIsNH0pKFxcP3swLDF9LS4qKSIsIlxcMiIpLE5BKSkgJT4lDQojIGZpbHRlcigoaXMubmEobGF0YSkmaXMubmEobGF0YV90ZW1hdCkpfCEoYXMuaW50ZWdlcihsYXRhKTwxODAwKXwhKGFzLmludGVnZXIobGF0YV90ZW1hdCk8MTgwMCkpDQp3cml0ZS5jc3YyKG5hX3Bvem5pZWosIHBhc3RlKCJDOi9Vc2Vycy8iLGVtcGxveWVlX25hbWUsIi9EZXNrdG9wL2JuXyIsaW1wb3J0X3llYXIsIl9rc19uYV9wb3puaWVqLmNzdiIsc2VwID0gIiIpLCByb3cubmFtZXMgPSBGLCBuYSA9ICcnLCBmaWxlRW5jb2RpbmcgPSAnVVRGLTgnKQ0KDQpibl9vayA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgIGZyb20gYm5fb2sgYQ0KICAgICAgICAgICAgICAgd2hlcmUgYS5pZCBub3QgaW4gKHNlbGVjdCBiLmlkIGZyb20gbmFfcG96bmllaiBiKSIpDQpjaHVuazcgPC0gYm5fb2sNCmBgYA0KDQpDenkgamVzdCBzZW5zIHRvIHJvYmnEhz8NCmBgYHtyIGF1dG9tYXR5Y3puZSBkemlhxYJvd2FuaWUgcHJ6ZWRtaW90b3dlan0NCiMjI2F1dG9tYXR5Y3puaWUgZHppYcWCb3dhbmllIHByemVkbWlvdG93ZWogbmEgcG9kc3Rhd2llIGRvdHljaGN6YXNvd3ljaCBpbXBvcnTDs3cNCiN6YXBpc3kgPC0gUkpEQkM6OmRiR2V0UXVlcnkoUEJMLA0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VsZWN0IHouemFfemFwaXNfaWQsIGR6LmR6X2R6aWFsX2lkLCBkei5kel9uYXp3YSwgei56YV9zdGF0dXNfaW1wLCB6LnphX3V3YWdpDQojICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gcGJsX3phcGlzeSB6DQojICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW4gcGJsX2R6aWFseSBkeiBvbiBkei5kel9kemlhbF9pZD16LnphX2R6X2R6aWFsMV9pZA0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSB6LnphX3V3YWdpIGxpa2UgJyVpbXBvcnQlJyIpICU+JQ0KIyAgbXV0YXRlKHByYWNvd25pa19wYmwgPSBzdHJfZXh0cmFjdChaQV9VV0FHSSwgIig/PD1ha2NlcHR1amU6KShbQS1aXSopIikpICU+JQ0KIyAgc2VsZWN0KC1aQV9VV0FHSSkNCiMNCiNwb3ByemVkbmllX2ltcG9ydHkgPC0gcmJpbmQobGlzdHlfMjAwNCxsaXN0eV8yMDA1LGxpc3R5XzIwMDYsbGlzdHlfMjAwNyxsaXN0eV8yMDA4KSAlPiUNCiMgIGZ1bGxfam9pbiguLHphcGlzeSxieSA9ICJaQV9aQVBJU19JRCIpICU+JQ0KIyAgc2VsZWN0KFg2NTAsWDY1NSxEWl9EWklBTF9JRCxEWl9OQVpXQSxaQV9TVEFUVVNfSU1QKSAlPiUNCiMgIG11dGF0ZShYNjUwID0gc3RyX3JlbW92ZV9hbGwoWDY1MCwiXFxcXDciKSwNCiMgICAgICAgICBYNjU1ID0gc3RyX3JlbW92ZV9hbGwoWDY1NSwiXFxcXDciKSwNCiMgICAgICAgICBYNjUwID0gc3RyX3JlbW92ZV9hbGwoc3RyX3JlcGxhY2VfYWxsKFg2NTAsIihcXCRhKSIsIlxcXFwjN1xcMSIpLCIjIiksDQojICAgICAgICAgWDY1NSA9IHN0cl9yZW1vdmVfYWxsKHN0cl9yZXBsYWNlX2FsbChYNjU1LCIoXFwkYSkiLCJcXFxcIzdcXDEiKSwiIyIpKSAlPiUNCiMgIGdyb3VwX2J5X2F0KHZhcnMoWDY1MDpEWl9OQVpXQSkpICU+JQ0KIyAgbXV0YXRlKFpBX1NUQVRVU19JTVAgPSBwYXN0ZShaQV9TVEFUVVNfSU1QLGNvbGxhcHNlID0gInwiKSkgJT4lDQojICB1bmdyb3VwKCkgJT4lDQojICB1bmlxdWUoKSAlPiUNCiMgIHVuZ3JvdXAoKSAlPiUNCiMgIGZpbHRlcighZ3JlcGwoIlxcfCIsRFpfRFpJQUxfSUQpKSAlPiUNCiMgIGZpbHRlcihncmVwbCgiSU9LIixaQV9TVEFUVVNfSU1QKSkgJT4lDQojICBmaWx0ZXIoIWdyZXBsKCJJTk98SU1QfElQTnxJUEMiLFpBX1NUQVRVU19JTVApKSAlPiUNCiMgIGZpbHRlcighZ3JlcGwoIm9zb2Jvd2UiLERaX05BWldBKSkgJT4lDQojICBmaWx0ZXIoIShpcy5uYShYNjUwKSZpcy5uYShYNjU1KSkpICU+JQ0KIyAgbXV0YXRlKGlsZTY1MCA9IHN0cl9jb3VudChYNjUwLCJcXHwiKSsxLA0KIyAgICAgICAgIGlsZTY1NSA9IHN0cl9jb3VudChYNjU1LCJcXHwiKSsxKSAlPiUNCiMgIGZpbHRlcihpbGU2NTA8PTEwfGlsZTY1NTw9MTApICU+JQ0KIyAgc2VsZWN0KC1pbGU2NTAsLWlsZTY1NSkgJT4lDQojICBtdXRhdGUoaWxlX3N0YXR1c293ID0gc3RyX2NvdW50KFpBX1NUQVRVU19JTVAsIlxcfCIpKzEpICU+JQ0KIyAgYXJyYW5nZShYNjU1LFg2NTAsLWlsZV9zdGF0dXNvdykNCiNwb3ByemVkbmllX2ltcG9ydHkkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKHBvcHJ6ZWRuaWVfaW1wb3J0eVsxOjJdKSkNCiNwb3ByemVkbmllX2ltcG9ydHkgPC0gcG9wcnplZG5pZV9pbXBvcnR5WyFkdXBsaWNhdGVkKHBvcHJ6ZWRuaWVfaW1wb3J0eSRpZF9ncnVweSksXSAlPiUNCiMgIG11dGF0ZShpZCA9IHJvd19udW1iZXIoKSkgJT4lDQojICBzZWxlY3QoLWlsZV9zdGF0dXNvdywtaWRfZ3J1cHkpDQojDQojZG9fZHppYWxvd2FuaWEgPC0gZGF0YS5mcmFtZShpZCA9IGFzLmludGVnZXIoKSwgWDY1MCA9IGFzLmNoYXJhY3RlcigpLCBYNjU1ID0gYXMuY2hhcmFjdGVyKCksIHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkNCiN4IDwtIDE6bGVuZ3RoKHBvcHJ6ZWRuaWVfaW1wb3J0eSRpZCkNCiNmb3IgKGkgaW4geCl7DQojICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KIyAgICBpZiAoaXMubmEocG9wcnplZG5pZV9pbXBvcnR5JFg2NTBbaV0pJiFpcy5uYShwb3ByemVkbmllX2ltcG9ydHkkWDY1NVtpXSkpew0KIyAgICAgIHBlcm11dGF0aW9ucyA8LSBhcy5kYXRhLmZyYW1lKHBlcm11dGF0aW9ucyh1bmxpc3Qoc3RyX3NwbGl0KHBvcHJ6ZWRuaWVfaW1wb3J0eSRYNjU1W2ldLCJcXHwiKSksIHN0cl9jb3VudChwb3ByemVkbmllX2ltcG9ydHkkWDY1NVtpXSwiXFx8IikrMSkpICU+JQ0KIyAgICAgICAgdW5pdGUoZGF0YT0uLGNvbCA9ICJwZXJtdXRhdGlvbiIsIHNlcCA9ICJ8IikgJT4lDQojICAgICAgICBtdXRhdGUoWDY1MCA9IE5BLA0KIyAgICAgICAgICAgICAgIFg2NTUgPSBwZXJtdXRhdGlvbiwNCiMgICAgICAgICAgICAgICBpZCA9IHBvcHJ6ZWRuaWVfaW1wb3J0eSRpZFtpXSkgJT4lDQojICAgICAgICBzZWxlY3QoaWQsWDY1MCxYNjU1KQ0KIyAgICAgIGRvX2R6aWFsb3dhbmlhIDwtIHJiaW5kKGRvX2R6aWFsb3dhbmlhLHBlcm11dGF0aW9ucykNCiMgICAgfSBlbHNlIGlmIChpcy5uYShwb3ByemVkbmllX2ltcG9ydHkkWDY1NVtpXSkmIWlzLm5hKHBvcHJ6ZWRuaWVfaW1wb3J0eSRYNjUwW2ldKSl7DQojICAgICAgcGVybXV0YXRpb25zIDwtIGFzLmRhdGEuZnJhbWUocGVybXV0YXRpb25zKHVubGlzdChzdHJfc3BsaXQocG9wcnplZG5pZV9pbXBvcnR5JFg2NTBbaV0sIlxcfCIpKSwgc3RyX2NvdW50KHBvcHJ6ZWRuaWVfaW1wb3J0eSRYNjUwW2ldLCJcXHwiKSsxKSkgJT4lDQojICAgICAgICB1bml0ZShkYXRhPS4sY29sID0gInBlcm11dGF0aW9uIiwgc2VwID0gInwiKSAlPiUNCiMgICAgICAgIG11dGF0ZShYNjUwID0gcGVybXV0YXRpb24sDQojICAgICAgICAgICAgICAgWDY1NSA9IE5BLA0KIyAgICAgICAgICAgICAgIGlkID0gcG9wcnplZG5pZV9pbXBvcnR5JGlkW2ldKSAlPiUNCiMgICAgICAgIHNlbGVjdChpZCxYNjUwLFg2NTUpDQojICAgICAgZG9fZHppYWxvd2FuaWEgPC0gcmJpbmQoZG9fZHppYWxvd2FuaWEscGVybXV0YXRpb25zKQ0KIyAgICB9IGVsc2Ugew0KIyAgICAgIHBlcm11dGF0aW9ucyA8LSBhcy5kYXRhLmZyYW1lKHBlcm11dGF0aW9ucyh1bmxpc3Qoc3RyX3NwbGl0KHBvcHJ6ZWRuaWVfaW1wb3J0eSRYNjUwW2ldLCJcXHwiKSksIHN0cl9jb3VudChwb3ByemVkbmllX2ltcG9ydHkkWDY1MFtpXSwiXFx8IikrMSkpICU+JQ0KIyAgICAgICAgdW5pdGUoZGF0YT0uLGNvbCA9ICJwZXJtdXRhdGlvbiIsIHNlcCA9ICJ8IikgJT4lDQojICAgICAgICBtdXRhdGUoWDY1MCA9IHBlcm11dGF0aW9uLA0KIyAgICAgICAgICAgICAgIGlkID0gcG9wcnplZG5pZV9pbXBvcnR5JGlkW2ldKSAlPiUNCiMgICAgICAgIHNlbGVjdChpZCxYNjUwKQ0KIyAgICAgIHBlcm11dGF0aW9uczY1MCA8LSBkYXRhLmZyYW1lKHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkNCiMgICAgICBwZXJtdXRhdGlvbnM2NTAgPC0gcmJpbmQocGVybXV0YXRpb25zNjUwLHBlcm11dGF0aW9ucykNCiMgICAgICBwZXJtdXRhdGlvbnMgPC0gYXMuZGF0YS5mcmFtZShwZXJtdXRhdGlvbnModW5saXN0KHN0cl9zcGxpdChwb3ByemVkbmllX2ltcG9ydHkkWDY1NVtpXSwiXFx8IikpLCBzdHJfY291bnQocG9wcnplZG5pZV9pbXBvcnR5JFg2NTVbaV0sIlxcfCIpKzEpKSAlPiUNCiMgICAgICAgIHVuaXRlKGRhdGE9Lixjb2wgPSAicGVybXV0YXRpb24iLCBzZXAgPSAifCIpICU+JQ0KIyAgICAgICAgbXV0YXRlKFg2NTUgPSBwZXJtdXRhdGlvbiwNCiMgICAgICAgICAgICAgICBpZCA9IHBvcHJ6ZWRuaWVfaW1wb3J0eSRpZFtpXSkgJT4lDQojICAgICAgICBzZWxlY3QoaWQsWDY1NSkNCiMgICAgICBwZXJtdXRhdGlvbnM2NTUgPC0gZGF0YS5mcmFtZShzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpDQojICAgICAgcGVybXV0YXRpb25zNjU1IDwtIHJiaW5kKHBlcm11dGF0aW9uczY1NSxwZXJtdXRhdGlvbnMpDQojICAgICAgcGVybXV0YXRpb25zIDwtIG1lcmdlKHBlcm11dGF0aW9uczY1MCxwZXJtdXRhdGlvbnM2NTUsYnkgPSAiaWQiLGFsbCA9IFRSVUUpICU+JQ0KIyAgICAgICAgc2VsZWN0KGlkLFg2NTAsWDY1NSkNCiMgICAgICBkb19kemlhbG93YW5pYSA8LSByYmluZChkb19kemlhbG93YW5pYSxwZXJtdXRhdGlvbnMpDQojICAgIH0NCiN9DQojDQojZG9fZHppYWxvd2FuaWEgPC0gZG9fZHppYWxvd2FuaWEgJT4lDQojICBmdWxsX2pvaW4oLixwb3ByemVkbmllX2ltcG9ydHkgJT4lIHNlbGVjdChpZCxEWl9EWklBTF9JRCxEWl9OQVpXQSksYnkgPSAiaWQiKSAlPiUNCiMgIHNlbGVjdCgtaWQpDQojZG9fZHppYWxvd2FuaWFbaXMubmEoZG9fZHppYWxvd2FuaWEpXSA8LSAiIg0KIyMjIyN0dXRhaiBzcHJhd2R6acSHDQojZG9fZHppYWxvd2FuaWFfcHJ6ZWRtIDwtIG1lcmdlKGJuX29rICU+JSBmaWx0ZXIoY3p5X2F1dG9tYXR5Y3puaWU9PSJuaWUiJnJvZHphal9rc2lhemtpPT0icHJ6ZWRtaW90b3dhIiksZG9fZHppYWxvd2FuaWEsIGJ5ID0gYygiWDY1MCIsIlg2NTUiKSkgJT4lDQojICBzZWxlY3QoaWQsRFpfRFpJQUxfSUQsRFpfTkFaV0EpDQpgYGANCg0KYGBge3Igd2N6eXRhbmllIGRhbnljaCBQQkx9DQojd2N6eXRhbmllIGthcnRvdGVrIFBCTA0KcmVkYWt0b3J6eV9kemlhbG93IDwtIHNoZWV0c19yZWFkKHNzID0gIjFCYWplLVpmUGdBS0VEQW9EemVvX2VDQkRyc0w3akFYdDZ1YlAyY2VkYkZjIiwgc2hlZXQgPSAicmVkYWt0b3J6eV9kemlhxYLDs3ciKSAlPiUNCiAgc2VsZWN0KERaX0RaSUFMX0lELCBEWl9OQVpXQSwgcmVkYWt0b3JfZHppYWx1KSAjJT4lDQogICNtdXRhdGUoRFpfRFpJQUxfSUQgPSBhcy5jaGFyYWN0ZXIoRFpfRFpJQUxfSUQpKQ0KDQpQQkxfZHppYWx5IDwtIGRiUmVhZFRhYmxlKFBCTCwnUEJMX0RaSUFMWScpICU+JQ0KICBzZWxlY3QoMSwzLDYpDQoNClBCTF9kemlhbHlfcGF0aCA8LSBtZXJnZSh4ID0gUEJMX2R6aWFseSwgeSA9IFBCTF9kemlhbHksIGJ5LnggPSAiRFpfRFpfRFpJQUxfSUQiLCBieS55ID0gIkRaX0RaSUFMX0lEIiwgYWxsLnggPSBUUlVFKQ0KY29sbmFtZXMoUEJMX2R6aWFseV9wYXRoKSA8LSBjKCJOQURfRFpfRFpJQUxfSUQiLCAiRFpfRFpJQUxfSUQiLCAiRFpfTkFaV0EiLCAiTkFEX0RaX05BWldBIiwgIk5BRF9OQURfRFpfRFpJQUxfSUQiKQ0KDQpQQkxfZHppYWx5X3BhdGggPC0gbWVyZ2UoeCA9IFBCTF9kemlhbHlfcGF0aCwgeSA9IFBCTF9kemlhbHksIGJ5LnggPSAiTkFEX05BRF9EWl9EWklBTF9JRCIsIGJ5LnkgPSAiRFpfRFpJQUxfSUQiLCBhbGwueCA9IFRSVUUpDQpjb2xuYW1lcyhQQkxfZHppYWx5X3BhdGgpIDwtIGMoIk5BRF9OQURfRFpfRFpJQUxfSUQiLCAiTkFEX0RaX0RaSUFMX0lEIiwgIkRaX0RaSUFMX0lEIiwgIkRaX05BWldBIiwgIk5BRF9EWl9OQVpXQSIsICJOQURfTkFEX0RaX05BWldBIiwgIk5BRF9OQURfTkFEX0RaX0RaSUFMX0lEIikNCg0KUEJMX2R6aWFseV9wYXRoIDwtIG1lcmdlKHggPSBQQkxfZHppYWx5X3BhdGgsIHkgPSBQQkxfZHppYWx5LCBieS54ID0gIk5BRF9OQURfTkFEX0RaX0RaSUFMX0lEIiwgYnkueSA9ICJEWl9EWklBTF9JRCIsIGFsbC54ID0gVFJVRSkNCmNvbG5hbWVzKFBCTF9kemlhbHlfcGF0aCkgPC0gYygiTkFEX05BRF9OQURfRFpfRFpJQUxfSUQiLCAiTkFEX05BRF9EWl9EWklBTF9JRCIsICJOQURfRFpfRFpJQUxfSUQiLCAiRFpfRFpJQUxfSUQiLCAiRFpfTkFaV0EiLCAiTkFEX0RaX05BWldBIiwgIk5BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfTkFEX0RaX0RaSUFMX0lEIikNCg0KUEJMX2R6aWFseV9wYXRoIDwtIG1lcmdlKHggPSBQQkxfZHppYWx5X3BhdGgsIHkgPSBQQkxfZHppYWx5LCBieS54ID0gIk5BRF9OQURfTkFEX05BRF9EWl9EWklBTF9JRCIsIGJ5LnkgPSAiRFpfRFpJQUxfSUQiLCBhbGwueCA9IFRSVUUpDQpjb2xuYW1lcyhQQkxfZHppYWx5X3BhdGgpIDwtIGMoIk5BRF9OQURfTkFEX05BRF9EWl9EWklBTF9JRCIsICJOQURfTkFEX05BRF9EWl9EWklBTF9JRCIsICJOQURfTkFEX0RaX0RaSUFMX0lEIiwgIk5BRF9EWl9EWklBTF9JRCIsICJEWl9EWklBTF9JRCIsICJEWl9OQVpXQSIsICJOQURfRFpfTkFaV0EiLCAiTkFEX05BRF9EWl9OQVpXQSIsICJOQURfTkFEX05BRF9EWl9OQVpXQSIsICJOQURfTkFEX05BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfTkFEX05BRF9EWl9EWklBTF9JRCIpDQoNClBCTF9kemlhbHlfcGF0aCA8LSBtZXJnZSh4ID0gUEJMX2R6aWFseV9wYXRoLCB5ID0gUEJMX2R6aWFseSwgYnkueCA9ICJOQURfTkFEX05BRF9OQURfTkFEX0RaX0RaSUFMX0lEIiwgYnkueSA9ICJEWl9EWklBTF9JRCIsIGFsbC54ID0gVFJVRSkNCmNvbG5hbWVzKFBCTF9kemlhbHlfcGF0aCkgPC0gYygiTkFEX05BRF9OQURfTkFEX05BRF9EWl9EWklBTF9JRCIsICJOQURfTkFEX05BRF9OQURfRFpfRFpJQUxfSUQiLCAiTkFEX05BRF9OQURfRFpfRFpJQUxfSUQiLCAiTkFEX05BRF9EWl9EWklBTF9JRCIsICJOQURfRFpfRFpJQUxfSUQiLCAiRFpfRFpJQUxfSUQiLCAiRFpfTkFaV0EiLCAiTkFEX0RaX05BWldBIiwgIk5BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfTkFEX0RaX05BWldBIiwgIk5BRF9OQURfTkFEX05BRF9OQURfRFpfTkFaV0EiLCAiTkFEX05BRF9OQURfTkFEX05BRF9OQURfRFpfRFpJQUxfSUQiKQ0KDQpQQkxfZHppYWx5X3BhdGggPC0gUEJMX2R6aWFseV9wYXRoICU+JQ0KICBzZWxlY3QoLWxlbmd0aChQQkxfZHppYWx5X3BhdGgpKSAlPiUNCiAgZmlsdGVyKERaX0RaSUFMX0lEIT0wKSAlPiUNCiAgc2VsZWN0KDYsNyw1LDgsNCw5LDMsMTAsMiwxMSwxLDEyKSAlPiUNCiAgdW5pcXVlKCkNCg0KUEJMX2R6X29zb2IgPC0gUEJMX2R6aWFseV9wYXRoICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIm9zb2Jvd2UiLCBEWl9OQVpXQSl8Z3JlcGwoIm9zb2Jvd2UiLCBOQURfRFpfTkFaV0EpfGdyZXBsKCJvc29ib3dlIiwgTkFEX05BRF9EWl9OQVpXQSl8Z3JlcGwoIm9zb2Jvd2UiLCBOQURfTkFEX05BRF9EWl9OQVpXQSl8Z3JlcGwoIm9zb2Jvd2UiLCBOQURfTkFEX05BRF9OQURfRFpfTkFaV0EpfGdyZXBsKCJvc29ib3dlIiwgTkFEX05BRF9OQURfTkFEX05BRF9EWl9OQVpXQSkpICU+JQ0KICBzZWxlY3QoMSwyLDMsNCw1LDYsNyw4KSAlPiUNCiAgZmlsdGVyKERaX0RaSUFMX0lEIT0xNDgpDQoNClBCTF9kel9vc29iXzEgPC0gUEJMX2R6X29zb2IgJT4lDQogIHNlbGVjdCgxLDIsMyw0KQ0KUEJMX2R6X29zb2JfMiA8LSBQQkxfZHpfb3NvYiAlPiUNCiAgc2VsZWN0KDEsMiw1LDYpDQpQQkxfZHpfb3NvYl8zIDwtIFBCTF9kel9vc29iICU+JQ0KICBzZWxlY3QoMSwyLDcsOCkNCmNvbG5hbWVzKFBCTF9kel9vc29iXzIpIDwtIGMobmFtZXMoUEJMX2R6X29zb2JfMSkpDQpjb2xuYW1lcyhQQkxfZHpfb3NvYl8zKSA8LSBjKG5hbWVzKFBCTF9kel9vc29iXzEpKQ0KUEJMX2R6X29zb2IgPC0gcmJpbmQoUEJMX2R6X29zb2JfMSxQQkxfZHpfb3NvYl8yLFBCTF9kel9vc29iXzMpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKE5BRF9EWl9EWklBTF9JRCkpICU+JQ0KICB1bmlxdWUoKQ0KUEJMX2R6X29zb2IgPC0gcmJpbmQoUEJMX2R6X29zb2IsIGMoIjE1MDQzIiwgIkhhc8WCYSBvc29ib3dlKGx1a3NlbWJ1cnNrYSkiLCIxNTA0MyIsICJIYXPFgmEgb3NvYm93ZShsdWtzZW1idXJza2EpIiksIGMoIjQzMCIsICJIYXPFgmEgb3NvYm93ZSAoTHVkemllIHRlYXRydSBpIGZpbG11KSIsIjQzMCIsICJIYXPFgmEgb3NvYm93ZSAoTHVkemllIHRlYXRydSBpIGZpbG11KSIpKQ0KUEJMX2R6X29zb2JfYmV6X3RlYXRydSA8LSBQQkxfZHpfb3NvYiAlPiUNCiAgZmlsdGVyKERaX0RaSUFMX0lEIT00MzApDQoNClBCTF90d29yY3kgPC0gZGJSZWFkVGFibGUoUEJMLCdQQkxfVFdPUkNZJykNCnR3X2lfZHpfcG9kbSA8LSBtZXJnZSh4PVBCTF90d29yY3kseT1QQkxfZHpfb3NvYl9iZXpfdGVhdHJ1LCBieS54ID0gIlRXX0RaX0RaSUFMX0lEIiwgYnkueSA9ICJOQURfRFpfRFpJQUxfSUQiLCBhbGwueCA9IFRSVUUpICU+JQ0KICBhcnJhbmdlKFRXX1RXT1JDQV9JRCkNCg0KdHdfaV9kel9wb2RtIDwtIGRhdGEuZnJhbWUodHdfaV9kel9wb2RtLCBwb2xfb3NvYiA9IGlmZWxzZSh0d19pX2R6X3BvZG0kVFdfRFpfRFpJQUxfSUQgPT0gMTQ4ICYgc3Vic3RyKHR3X2lfZHpfcG9kbSRUV19OQVpXSVNLTywxLDEpPT1zdHJfc3ViKHR3X2lfZHpfcG9kbSREWl9OQVpXQSxuY2hhcihhcy5jaGFyYWN0ZXIodHdfaV9kel9wb2RtJERaX05BWldBKSksbmNoYXIoYXMuY2hhcmFjdGVyKHR3X2lfZHpfcG9kbSREWl9OQVpXQSkpKSxUUlVFLEZBTFNFKSwgcG9sID0gaWZlbHNlKHR3X2lfZHpfcG9kbSRUV19EWl9EWklBTF9JRCA9PSAxNDgsIFRSVUUsIEZBTFNFKSkgJT4lDQogIGZpbHRlcihwb2xfb3NvYiA9PSBUUlVFIHwgcG9sID09IEZBTFNFKQ0KUEJMX3R3b3JjeV9wb2RtIDwtIHR3X2lfZHpfcG9kbSAlPiUNCiAgc2VsZWN0KFRXX1RXT1JDQV9JRCwgVFdfTkFaV0lTS08sIFRXX0lNSUUsIERaX0RaSUFMX0lELCBEWl9OQVpXQSwgVFdfTkFaV19XTEFTQ0lXRSwgVFdfUFNFVURPTklNWSwgVFdfREFUQV9VUk9EWklOLCBUV19EQVRBX1pHT05VLCBUV19ST0NaTklLSV9QQkwsIFRXX1NMT1dBX0tMVUNaT1dFLCBUV19VV0FHSSwgVFdfUk9LX1VST0RaSU4sIFRXX1JPS19aR09OVSwgVFdfTElDWkJBX1pBUElTT1csIFRXX0FETk9UQUNKRSwgVFdfVFJBTlNMSVRFUkFDSkUpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkNCmNvbG5hbWVzKFBCTF90d29yY3lfcG9kbSkgPC0gYygiVFdfVFdPUkNBX0lEIiwgIlRXX05BWldJU0tPIiwgIlRXX0lNSUUiLCAiVFdfRFpfRFpJQUxfSUQiLCAiRFpfTkFaV0EiLCAiVFdfTkFaV19XTEFTQ0lXRSIsICJUV19QU0VVRE9OSU1ZIiwgIlRXX0RBVEFfVVJPRFpJTiIsICJUV19EQVRBX1pHT05VIiwgIlRXX1JPQ1pOSUtJX1BCTCIsICJUV19TTE9XQV9LTFVDWk9XRSIsICJUV19VV0FHSSIsICJUV19ST0tfVVJPRFpJTiIsICJUV19ST0tfWkdPTlUiLCAiVFdfTElDWkJBX1pBUElTT1ciLCAiVFdfQUROT1RBQ0pFIiwgIlRXX1RSQU5TTElURVJBQ0pFIikNClBCTF90d29yY3lfcG9kbSA8LSBQQkxfdHdvcmN5X3BvZG0gJT4lDQogIG11dGF0ZShuYXp3YSA9IGlmZWxzZShpcy5uYShUV19JTUlFKSxhcy5jaGFyYWN0ZXIoVFdfTkFaV0lTS08pLHBhc3RlKFRXX05BWldJU0tPLFRXX0lNSUUsIHNlcCA9ICIiKSksDQogICAgICAgICBuYXp3YSA9IHN0cl90b19sb3dlcihzdHJfcmVwbGFjZV9hbGwobmF6d2EsICJcXFciLCAiIikpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKG5hendhKSwgIlxcVyIsICIiKSkNCg0KdHdfaV9keiA8LSBtZXJnZSh4PVBCTF90d29yY3kseT1QQkxfZHpfb3NvYiwgYnkueCA9ICJUV19EWl9EWklBTF9JRCIsIGJ5LnkgPSAiTkFEX0RaX0RaSUFMX0lEIiwgYWxsLnggPSBUUlVFKSAlPiUNCiAgYXJyYW5nZShUV19UV09SQ0FfSUQpDQp0d19pX2R6IDwtIGRhdGEuZnJhbWUodHdfaV9keiwgcG9sX29zb2IgPSBpZmVsc2UodHdfaV9keiRUV19EWl9EWklBTF9JRCA9PSAxNDggJiBzdWJzdHIodHdfaV9keiRUV19OQVpXSVNLTywxLDEpPT1zdHJfc3ViKHR3X2lfZHokRFpfTkFaV0EsbmNoYXIoYXMuY2hhcmFjdGVyKHR3X2lfZHokRFpfTkFaV0EpKSxuY2hhcihhcy5jaGFyYWN0ZXIodHdfaV9keiREWl9OQVpXQSkpKSxUUlVFLEZBTFNFKSwgcG9sID0gaWZlbHNlKHR3X2lfZHokVFdfRFpfRFpJQUxfSUQgPT0gMTQ4LCBUUlVFLCBGQUxTRSkpICU+JQ0KICBmaWx0ZXIocG9sX29zb2IgPT0gVFJVRSB8IHBvbCA9PSBGQUxTRSkNClBCTF90d29yY3kgPC0gdHdfaV9keiAlPiUNCiAgc2VsZWN0KFRXX1RXT1JDQV9JRCwgVFdfTkFaV0lTS08sIFRXX0lNSUUsIERaX0RaSUFMX0lELCBEWl9OQVpXQSwgVFdfTkFaV19XTEFTQ0lXRSwgVFdfUFNFVURPTklNWSwgVFdfREFUQV9VUk9EWklOLCBUV19EQVRBX1pHT05VLCBUV19ST0NaTklLSV9QQkwsIFRXX1NMT1dBX0tMVUNaT1dFLCBUV19VV0FHSSwgVFdfUk9LX1VST0RaSU4sIFRXX1JPS19aR09OVSwgVFdfTElDWkJBX1pBUElTT1csIFRXX0FETk9UQUNKRSwgVFdfVFJBTlNMSVRFUkFDSkUpDQpjb2xuYW1lcyhQQkxfdHdvcmN5KSA8LSBjKCJUV19UV09SQ0FfSUQiLCAiVFdfTkFaV0lTS08iLCAiVFdfSU1JRSIsICJUV19EWl9EWklBTF9JRCIsICJEWl9OQVpXQSIsICJUV19OQVpXX1dMQVNDSVdFIiwgIlRXX1BTRVVET05JTVkiLCAiVFdfREFUQV9VUk9EWklOIiwgIlRXX0RBVEFfWkdPTlUiLCAiVFdfUk9DWk5JS0lfUEJMIiwgIlRXX1NMT1dBX0tMVUNaT1dFIiwgIlRXX1VXQUdJIiwgIlRXX1JPS19VUk9EWklOIiwgIlRXX1JPS19aR09OVSIsICJUV19MSUNaQkFfWkFQSVNPVyIsICJUV19BRE5PVEFDSkUiLCAiVFdfVFJBTlNMSVRFUkFDSkUiKQ0KUEJMX3R3b3JjeSA8LSBQQkxfdHdvcmN5ICU+JQ0KICBtdXRhdGUobmF6d2EgPSBpZmVsc2UoaXMubmEoVFdfSU1JRSksYXMuY2hhcmFjdGVyKFRXX05BWldJU0tPKSxwYXN0ZShUV19OQVpXSVNLTyxUV19JTUlFLCBzZXAgPSAiIikpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfdG9fbG93ZXIoc3RyX3JlcGxhY2VfYWxsKG5hendhLCAiXFxXIiwgIiIpKSwNCiAgICAgICAgIG5hendhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihuYXp3YSksICJcXFciLCAiIiksDQogICAgICAgICBUV19EWl9EWklBTF9JRCA9IGFzLm51bWVyaWMoVFdfRFpfRFpJQUxfSUQpKQ0KDQpQQkxfYXV0b3J6eSA8LSBkYlJlYWRUYWJsZShQQkwsJ1BCTF9BVVRPUlpZJykgJT4lDQogIG11dGF0ZShuYXp3YSA9IGlmZWxzZShpcy5uYShBTV9JTUlFKSxhcy5jaGFyYWN0ZXIoQU1fTkFaV0lTS08pLHBhc3RlKEFNX05BWldJU0tPLEFNX0lNSUUsIHNlcCA9ICIiKSksDQogICAgICAgICBuYXp3YSA9IHN0cl90b19sb3dlcihzdHJfcmVwbGFjZV9hbGwobmF6d2EsICJcXFciLCAiIikpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKG5hendhKSwgIlxcVyIsICIiKSkgJT4lDQogIGZpbHRlcihuYXp3YSAhPSAibmFuYSIpDQoNClBCTF93c3BvbHR3b3JjeSA8LSBkYlJlYWRUYWJsZShQQkwsJ1BCTF9PU09CWScpICU+JQ0KICBtdXRhdGUobmF6d2FfcHJvc3RhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihpZmVsc2UoaXMubmEoT1NfSU1JRSksYXMuY2hhcmFjdGVyKE9TX05BWldJU0tPKSxwYXN0ZShPU19OQVpXSVNLTyxPU19JTUlFLCBzZXAgPSAiIikpKSwgIlxcVyIsICIiKSkgJT4lDQogIGZpbHRlcihuYXp3YV9wcm9zdGEgIT0ibmFuYSIpDQoNClBCTF9mdW5rY2plIDwtIHNoZWV0c19yZWFkKHNzID0gIjFodG5fTDZSRXMzR2RHMXhTaUdISWZyNk1KdmptbVVfa1ZHeGlNWnRDVjI0Iiwgc2hlZXQgPSAiQXJrdXN6MSIpDQoNClBCTF93eWRhd25pY3R3YSA8LSBkYlJlYWRUYWJsZShQQkwsJ1BCTF9XWURBV05JQ1RXQScpICU+JQ0KICBtdXRhdGUobmF6d2FfcHJvc3RhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihwYXN0ZShXWV9NSUFTVE8sIFdZX05BWldBKSksICJcXFciLCAiIikpICU+JQ0KICBmaWx0ZXIobmF6d2FfcHJvc3RhICE9Im5hbmEiKQ0KDQpQQkxfcm9kemFqZV96YXBpc293IDwtIGRiUmVhZFRhYmxlKFBCTCwnUEJMX1JPRFpBSkVfWkFQSVNPVycpDQoNCkJOX1BCTF9saXN0YV9saXRlcmF0dXIgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMXpid2pucnRXR3ZianJRVExNYXZKY1dTdTdIZlAwSS1VU05nWl9LV2lYamMiLCBzaGVldCA9ICJsaXN0YSB1a2QgYm4iKSAlPiUNCiAgZmlsdGVyKCFpcy5uYSh1a2Rfb2dvbG5lKSkgJT4lDQogIHNlbGVjdCgzOjkpICU+JQ0KICBjU3BsaXQoLixjKCJwYmxfaWQiLCJwYmxfbmF6d2EiLCJyZWRha3Rvcl9kemlhbHUiLCJwYmxfaWRfbGl0ZXJhdHVyeSIsInBibF9saXRlcmF0dXJhIiksc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcighaXMubmEocGJsX2lkKSkNCg0KUEJMX2hhc2xhX29zb2Jvd2UgPC0gc2hlZXRzX3JlYWQoc3MgPSAiMXpid2pucnRXR3ZianJRVExNYXZKY1dTdTdIZlAwSS1VU05nWl9LV2lYamMiLCBzaGVldCA9ICJwYmxfaGFzbGFfb3NvYm93ZSIpICU+JQ0KICBzZWxlY3QoMjo1KQ0KY29sbmFtZXMoUEJMX2hhc2xhX29zb2Jvd2UpIDwtIGMoIkRaX0RaSUFMX0lEIiwiRFpfTkFaV0EiLCJyZWRha3Rvcl9kemlhbHUiLCJuYXp3YSIpDQpgYGANCg0KYGBge3IgcHJ6eWdvdG93YW5pZSB3c3DDs8WCd3lkYcWEfQ0KYm5fb2sgPC0gY2h1bms3DQojIHBvZHppZWxlbmllIHVuaWthdG93eWNoIHJla29yZMOzdyBibiBuYSBkd2Egd2llcnN6ZSB3IHRhYmVsaSwgeiBrdMOzcnljaCBwb3dzdGFuxIUgZHdhIHJla29yZHkgcGJsDQpibl9vayA8LSBibl9vayAlPiUNCiAgbXV0YXRlKFpBX1VXQUdJID0gMTpucm93KC4pKQ0KDQp3c3BvbHd5ZGFuaWFfZml4IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJ3c3DDs8WCd3lkYW5pZSIpICU+JQ0KICBtdXRhdGUoWDI0NSA9IGlmZWxzZShncmVwbCgiXFxdXFwuW14kXSIsWDI0NSksc3RyX3JlcGxhY2UoWDI0NSwiKFxcJGMpKC4qKShcXF1cXC4gKSguKiBcXC8gLiopIiwiXFwxXFwyXXwxMCRhXFw0Iiksc3RyX3JlcGxhY2UoWDI0NSwiKFxcJGMpKC4qPykoPzwhdMWCfHJlZCkoXFwuICkoLiogXFwvIC4qKSIsIlxcMVxcMnwxMCRhXFw0IikpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCAiXFwvW15cXCRdIiwgIi8kYyIpKQ0KDQojIHVzdW5pxJljaWUgemUgemJpb3J1IHdzcMOzxYJ3eWRhd25pY3R3IChixJlkxIUgcMOzxbpuaWVqIHBvxYLEhWN6b25lKQ0KYm5fb2sgPC0gYm5fb2sgJT4lIA0KICBmaWx0ZXIoaWQgJW5vdGluJSB3c3BvbHd5ZGFuaWFfZml4JGlkKQ0KDQojIHVzdW5pxJljaWUgeiBwb2xhIFgyNDYgd2Vyc2ppIHR5dHXFgsOzdywga3TDs3JlIG5pZSBzxIUgdHl0dcWCYW1pIG9yeWdpbmHFgnUNCm1hcmNfZmllbGRfMjQ2IDwtIHdzcG9sd3lkYW5pYV9maXggJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ2KSU+JQ0KICBtdXRhdGUoWDI0Nj1zdHJfcmVwbGFjZV9hbGwoWDI0NiwiKF58XFx8KSIsIn5cXDEiKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoWDI0Nj09In4iLGFzLmNoYXJhY3RlcihYMjQ2KSxzdHJfcmVtb3ZlKFgyNDYsIl5+IikpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDYiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBtdXRhdGUoWDI0Nj1zdHJfcmVtb3ZlX2FsbChYMjQ2LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwod3Nwb2x3eWRhbmlhX2ZpeCRYMjQ2LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ2KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NjwtY2JpbmQobWFyY19maWVsZF8yNDYsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDYkWDI0NiA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NiRYMjQ2LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NlssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NiRYMjQ2KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDYkWDI0NiksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF8yNDYgPC0gbWFyY19maWVsZF8yNDZbLCBjb2xTdW1zKGlzLm5hKG1hcmNfZmllbGRfMjQ2KSkgIT0gbnJvdyhtYXJjX2ZpZWxkXzI0NildDQptYXJjX2ZpZWxkXzI0NiA8LSBtYXJjX2ZpZWxkXzI0NiAlPiUgDQogIGZpbHRlcihpcy5uYShgJGlgKXxgJGlgIT0iVHl0LiBwcnpla8WCLjoiKSAlPiUgDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ2KSAlPiUgDQogIG11dGF0ZShYMjQ2ID0gc3RyX3JlbW92ZV9hbGwoWDI0NiwiXFx8IikpICU+JSANCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JSANCiAgbXV0YXRlKFgyNDYgPSBwYXN0ZShYMjQ2LGNvbGxhcHNlID0gInwiKSkgJT4lIA0KICB1bmdyb3VwKCkgJT4lIA0KICB1bmlxdWUoKQ0KDQp3c3BvbHd5ZGFuaWFfZml4JFgyNDYgPC0gbWFyY19maWVsZF8yNDYkWDI0Ng0KDQojIHBvZHppYcWCIG5hIGR3YSByZWtvcmR5DQp3c3BvbHd5ZGFuaWFfZml4IDwtIHdzcG9sd3lkYW5pYV9maXggJT4lDQogIGNTcGxpdChjKCJYMjQ1IiwgIlgyNDYiKSwgc2VwID0gInwiLCBkaXJlY3Rpb24gPSAibG9uZyIpICU+JSANCiAgZmlsdGVyKCFpcy5uYShYMjQ1KSkNCg0KIyB6bWlhbmEgcG9sYSBaQV9VV0FHSSBuYSB3YXJ0b8WbxIcgdW5pa2F0b3fEhQ0Kd3Nwb2x3eWRhbmlhX2ZpeCAlJCUgIA0KICAgIHsgWkFfVVdBR0k9PWxhZyhaQV9VV0FHSSwpfSAlPiUgDQogICAgYXMubnVtZXJpYygpICU+JSANCiAgICB7Ln0gLT4gd3Nwb2x3eWRhbmlhX2ZpeCRzYW1lDQp3c3BvbHd5ZGFuaWFfZml4JHNhbWVbMV0gPC0gMA0Kd3Nwb2x3eWRhbmlhX2ZpeCA8LSB3c3BvbHd5ZGFuaWFfZml4ICU+JSANCiAgbXV0YXRlKFpBX1VXQUdJID0gaWZlbHNlKHNhbWUgPT0gMCwgcGFzdGUocm9rLHNwcmludGYoIiUwNWQiLCBhcy5pbnRlZ2VyKFpBX1VXQUdJKSksICIwIiwgc2VwID0gIiIpLCBwYXN0ZShyb2ssc3ByaW50ZigiJTA1ZCIsIGFzLmludGVnZXIoWkFfVVdBR0kpKSwgIjEiLCBzZXAgPSAiIikpKSAlPiUgDQogIHNlbGVjdCgtc2FtZSkNCg0KIyBwb8WCxIVjemVuaWUgemJpb3LDs3cNCmJuX29rIDwtIGJuX29rICU+JSANCiAgbXV0YXRlKFpBX1VXQUdJID0gcGFzdGUocm9rLHNwcmludGYoIiUwNWQiLCBhcy5pbnRlZ2VyKFpBX1VXQUdJKSksc2VwID0gIiIpKSAlPiUgDQogIGJpbmRfcm93cyh3c3BvbHd5ZGFuaWFfZml4KQ0KY2h1bmsxMCA8LSBibl9vaw0KYGBgDQoNCg0KYGBge3IgcHJ6eXBpc2FuaWUgcmVkYWt0b3LDs3cgZG8gcHJ6ZWRtaW90b3dlaiwgcG9kbWlvdG93ZWogaSBhbnRvbG9naWl9DQpibl9vayA8LSBjaHVuazEwDQpwcnplZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icHJ6ZWRtaW90b3dhIikNCiMjI3ByenlwaXNhbmllIHJlZGFrdG9yYSBuYSBwb2RzdGF3aWUgb3NvYnkgeiA2MDAgamFrbyB0ZW1hdHUgLSBrc2nEhcW8a2kgbyB0d8OzcmN5DQojNjAwDQptYXJjX2ZpZWxkXzYwMCA8LSBwcnplZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2MDApJT4lDQogIGZpbHRlcihYNjAwIT0iIikgJT4lDQogIG11dGF0ZShYNjAwPXN0cl9yZXBsYWNlX2FsbChYNjAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDYwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDYwMD1zdHJfcmVtb3ZlX2FsbChYNjAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkkWDYwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzYwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82MDA8LWNiaW5kKG1hcmNfZmllbGRfNjAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjAwJFg2MDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82MDAkWDYwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF82MDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF82MDAkWDYwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNjAwJFg2MDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfNjAwIDwtIG1hcmNfZmllbGRfNjAwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCxgJGRgLGAkY2ApICU+JQ0KICBtdXRhdGUobmFtZSA9IGlmZWxzZSghaXMubmEoYCRjYCkmc3Vic3RyKGAkY2AsbmNoYXIoYCRjYCksbmNoYXIoYCRjYCkpPT0iOyIscGFzdGUoYCRhYCxgJGNgLGAkZGAsc2VwID0gIiAiKSxpZmVsc2UoIWlzLm5hKGAkZGApLHBhc3RlKGAkYWAsYCRkYCxzZXAgPSAiICIpLGFzLmNoYXJhY3RlcihgJGFgKSkpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG5hbWUpICU+JQ0KICBtdXRhdGUobmFtZSA9IHN0cl9yZXBsYWNlKG5hbWUsIihcXCkpKFxcLiQpIiwiXFwxIiksDQogICAgICAgICBuYW1lID0gc3RyX3JlcGxhY2UobmFtZSwgIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKFxcLiQpIiwiXFwxIikpDQoNCm1hcmNfZmllbGRfNjAwIDwtIG1hcmNfZmllbGRfNjAwICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgaW5uZXJfam9pbiguLHBibF92aWFmLGJ5ID0gYygibmFtZSIgPSAiQk5fbmFtZSIpKSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX3R3b3JjeSxieSA9IGMoInBibF9pZCI9IlRXX1RXT1JDQV9JRCIpKSAlPiUNCiAgbGVmdF9qb2luKC4scmVkYWt0b3J6eV9kemlhbG93LGJ5ID0gYygiVFdfRFpfRFpJQUxfSUQiPSJEWl9EWklBTF9JRCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFRXX1RXT1JDQV9JRD1wYmxfaWQsVFdfTkFaV0lTS08sVFdfSU1JRSxUV19EWl9EWklBTF9JRCxEWl9OQVpXQT1EWl9OQVpXQS54LHJlZGFrdG9yX2R6aWFsdSkNCmNvdW50IDwtIGFzLmRhdGEuZnJhbWUodGFibGUobWFyY19maWVsZF82MDAkWkFfVVdBR0kpKQ0KbWFyY19maWVsZF82MDAgPC0gbWVyZ2UobWFyY19maWVsZF82MDAsY291bnQsYnkueCA9ICJaQV9VV0FHSSIsIGJ5LnkgPSAiVmFyMSIpICU+JQ0KICBmaWx0ZXIoRnJlcTwyKSAlPiUNCiAgc2VsZWN0KC1GcmVxKSAlPiUNCiAgcmVuYW1lKERaX0RaSUFMX0lEPVRXX0RaX0RaSUFMX0lEKSAlPiUNCiAgbXV0YXRlKFJaX1JPRFpBSl9JRCA9IDIsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgbyB0d8OzcmN5IChwcnplZG1pb3Rvd2EpIikNCg0KIyMjcHJ6eXBpc2FuaWUgZG8gcmVkYWt0b3LDs3cgbmEgcG9kc3Rhd2llIGxpdGVyYXR1cnkgeiBwb2xhIDY1NQ0KcHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InByemVkbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBtYXJjX2ZpZWxkXzYwMCRaQV9VV0FHSSkNCg0KIzY1NQ0KbWFyY19maWVsZF82NTUgPC0gcHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjU1KSU+JQ0KICBmaWx0ZXIoWDY1NSE9IiIpICU+JQ0KICBtdXRhdGUoWDY1NT1zdHJfcmVwbGFjZV9hbGwoWDY1NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNjU1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg2NTUhPSIiKSAlPiUNCiAgbXV0YXRlKFg2NTU9c3RyX3JlbW92ZV9hbGwoWDY1NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNjU1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKHByemVkbWlvdG93YV9yZWRha3Rvcnp5JFg2NTUsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF82NTUpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNjU1PC1jYmluZChtYXJjX2ZpZWxkXzY1NSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzY1NSRYNjU1IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNjU1JFg2NTUsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNjU1WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNjU1JFg2NTUpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzY1NSRYNjU1KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm1hcmNfZmllbGRfNjU1IDwtIG1hcmNfZmllbGRfNjU1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCkgJT4lDQogIHVuaXF1ZSgpDQoNClBCTF9saXRlcmF0dXJ5X29iY2UgPC0gUEJMX2R6aWFseV9wYXRoICU+JQ0KICBmaWx0ZXIoTkFEX0RaX0RaSUFMX0lEPT0zMCkgJT4lDQogIHNlbGVjdCgxLDIpICU+JQ0KICBsZWZ0X2pvaW4oLixyZWRha3Rvcnp5X2R6aWFsb3csYnkgPSAiRFpfRFpJQUxfSUQiKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShyZWRha3Rvcl9kemlhbHUpKSAlPiUNCiAgc2VsZWN0KDEsRFpfTkFaV0EgPSAyLDQpICU+JQ0KICBtdXRhdGUobmF6d2EgPSBzdWJzdHIoc3RyX3JlcGxhY2UoRFpfTkFaV0EsICIoLio/KSggKSguKj8pIiwiXFwzIiksMSxuY2hhcihzdHJfcmVwbGFjZShEWl9OQVpXQSwgIiguKj8pKCApKC4qPykiLCJcXDMiKSktMSksDQogICAgICAgICBuYXp3YSA9IGlmZWxzZShuYXp3YT09InJvbXNrYSAoY3lnYcWEc2thIiwicm9tc2t8Y3lnYcWEc2siLGFzLmNoYXJhY3RlcihuYXp3YSkpKQ0KDQpyZWN6bmUgPC0gZGF0YS5mcmFtZShEWl9EWklBTF9JRCA9IGMoMzIsMzIsMzIsMzIsNTksODYsMTA3LDE0OSw2Nyw2OSwzNCwzNCwzNCwzNCwzNCw1NSwzMiw5OSwzNCksRFpfTkFaV0EgPSBjKCJMaXRlcmF0dXJhIGJyeXR5anNrYSBpIGlybGFuZHprYSIsIkxpdGVyYXR1cmEgYnJ5dHlqc2thIGkgaXJsYW5kemthIiwiTGl0ZXJhdHVyYSBicnl0eWpza2EgaSBpcmxhbmR6a2EiLCJMaXRlcmF0dXJhIGJyeXR5anNrYSBpIGlybGFuZHprYSIsIkxpdGVyYXR1cmEgZ3JlY2thIHN0YXJvxbx5dG5hIiwiTGl0ZXJhdHVyYSDFgmFjacWEc2thIMWbcmVkbmlvd2llY3puYSIsIkxpdGVyYXR1cmEgc3lyeWpza2EiLCJMaXRlcmF0dXJhIGVzcGVyYW50byIsIkxpdGVyYXR1cmEgaG9sZW5kZXJza2EiLCJMaXRlcmF0dXJ5IEluZGlpIiwiTGl0ZXJhdHVyeSBBZnJ5a2kgU3Vic2FoYXJ5anNraWVqIiwiTGl0ZXJhdHVyeSBBZnJ5a2kgU3Vic2FoYXJ5anNraWVqIiwiTGl0ZXJhdHVyeSBBZnJ5a2kgU3Vic2FoYXJ5anNraWVqIiwiTGl0ZXJhdHVyeSBBZnJ5a2kgU3Vic2FoYXJ5anNraWVqIiwiTGl0ZXJhdHVyeSBBZnJ5a2kgU3Vic2FoYXJ5anNraWVqIiwgIkxpdGVyYXR1cmEgZWdpcHNrby1hcmFic2thIiwgIkxpdGVyYXR1cmEgYnJ5dHlqc2thIGkgaXJsYW5kemthIiwiTGl0ZXJhdHVyYSBwYWxlc3R5xYRza28tYXJhYnNrYSIsIkxpdGVyYXR1cnkgQWZyeWtpIFN1YnNhaGFyeWpza2llaiIpLCByZWRha3Rvcl9kemlhbHUgPSBjKCJCRUFUQUsiLCJCRUFUQUsiLCJCRUFUQUsiLCJCRUFUQUsiLCJCRUFUQVMiLCJCRUFUQVMiLCJCRUFUQUQiLCJDRVpBUlkiLCJUT01BU1pVIiwiRVdBIiwiRVdBIiwiRVdBIiwiRVdBIiwiRVdBIiwiRVdBIiwiQkVBVEFEIiwiQkVBVEFLIiwiQkVBVEFEIiwiRVdBIiksIG5hendhID0gYygiYW5naWVsc2siLCJzemtvY2siLCJpcmxhbmR6ayIsIndhbGlqc2siLCJncmVjayIsIsWCYWNpxYRzayIsInN5cnlqc2siLCJlc3BlcmFuY2siLCJuaWRlcmxhbmR6ayIsImluZHlqc2siLCJwb8WCdWRuaW93b2FmcnlrYSIsInNlbmVnYWxzayIsIm5pZ2VyeWpzayIsImFmcnlrYcWEc2siLCJydWFuZHlqc2siLCJlZ2lwc2suIG5vd2/FvHl0biIsImNlbHR5Y2siLCJwYWxlc3R5xYRzayIsInNvbWFsaWpzayIpKQ0KDQpQQkxfbGl0ZXJhdHVyeV9vYmNlIDwtIHJiaW5kKFBCTF9saXRlcmF0dXJ5X29iY2UscmVjem5lKQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1hcmNfZmllbGRfNjU1IGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gUEJMX2xpdGVyYXR1cnlfb2JjZSBiIG9uIGEuYCRhYCBsaWtlICgnJSd8fGIubmF6d2F8fCclJykiKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxEWl9EWklBTF9JRCkNCg0KbWFyY19maWVsZF82NTUkc2FtZSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTVbMV0pKQ0KbWFyY19maWVsZF82NTUgPC0gbWFyY19maWVsZF82NTVbIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTUkc2FtZSksXSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLERaX0RaSUFMX0lELERaX05BWldBLHJlZGFrdG9yX2R6aWFsdSkgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgbXV0YXRlKFRXX1RXT1JDQV9JRCA9IE5BLA0KICAgICAgICAgVFdfTkFaV0lTS08gPSBOQSwNCiAgICAgICAgIFRXX0lNSUUgPSBOQSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDIxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHcgaGHFm2xlIHJ6ZWN6b3d5bSIpICU+JQ0KICBzZWxlY3QobmFtZXMobWFyY19maWVsZF82MDApKQ0KIyMjcHJ6eXBpc2FuaWUgZG8gcmVkYWt0b3LDs3cgbmEgcG9kc3Rhd2llIGxpdGVyYXR1cnkgeiBwb2xhIDY1MA0KcHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InByemVkbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBtYXJjX2ZpZWxkXzYwMCRaQV9VV0FHSSkgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIG1hcmNfZmllbGRfNjU1JFpBX1VXQUdJKQ0KDQojNjUwDQptYXJjX2ZpZWxkXzY1MCA8LSBwcnplZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2NTApJT4lDQogIGZpbHRlcihYNjUwIT0iIikgJT4lDQogIG11dGF0ZShYNjUwPXN0cl9yZXBsYWNlX2FsbChYNjUwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2NTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDY1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDY1MD1zdHJfcmVtb3ZlX2FsbChYNjUwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2NTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkkWDY1MCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzY1MClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82NTA8LWNiaW5kKG1hcmNfZmllbGRfNjUwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjUwJFg2NTAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82NTAkWDY1MCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF82NTBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF82NTAkWDY1MCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNjUwJFg2NTApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF82NTAgPC0gbWFyY19maWVsZF82NTAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgKSAlPiUNCiAgdW5pcXVlKCkNCg0KbWFyY19maWVsZF82NTAgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtYXJjX2ZpZWxkXzY1MCBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIFBCTF9saXRlcmF0dXJ5X29iY2UgYiBvbiBhLmAkYWAgbGlrZSAoJyUnfHxiLm5hendhfHwnJScpIikgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksRFpfRFpJQUxfSUQpDQoNCm1hcmNfZmllbGRfNjUwJHNhbWUgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKG1hcmNfZmllbGRfNjUwWzFdKSkNCm1hcmNfZmllbGRfNjUwIDwtIG1hcmNfZmllbGRfNjUwWyFkdXBsaWNhdGVkKG1hcmNfZmllbGRfNjUwJHNhbWUpLF0gJT4lDQogIHNlbGVjdChaQV9VV0FHSSxEWl9EWklBTF9JRCxEWl9OQVpXQSxyZWRha3Rvcl9kemlhbHUpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gTkEsDQogICAgICAgICBUV19JTUlFID0gTkEsDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAyMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB3IGhhxZtsZSByemVjem93eW0iKSAlPiUNCiAgc2VsZWN0KG5hbWVzKG1hcmNfZmllbGRfNjAwKSkNCg0KZG9fcHJ6ZWRtaW90b3dlajEgPC0gcmJpbmQobWFyY19maWVsZF82MDAsbWFyY19maWVsZF82NTUsbWFyY19maWVsZF82NTApDQoNCiNwcnp5cGlzYW5pZSBuYSBwb2RzdGF3aWUgZGVza3J5cHRvcsOzdyB0ZW1hdHljem55Y2ggeiA2NTAgaSA2NTUNCnphcGlzeSA8LSBSSkRCQzo6ZGJHZXRRdWVyeShQQkwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlbGVjdCB6LnphX3phcGlzX2lkLCBkei5kel9kemlhbF9pZCwgZHouZHpfbmF6d2EsIHJ6LnJ6X3JvZHphal9pZCwgcnoucnpfbmF6d2EsIHouemFfc3RhdHVzX2ltcCwgei56YV91d2FnaQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gcGJsX3phcGlzeSB6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbiBwYmxfZHppYWx5IGR6IG9uIGR6LmR6X2R6aWFsX2lkPXouemFfZHpfZHppYWwxX2lkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbiBwYmxfcm9kemFqZV96YXBpc293IHJ6IG9uIHJ6LnJ6X3JvZHphal9pZD16LnphX3J6X3JvZHphajFfaWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSB6LnphX3V3YWdpIGxpa2UgJyVpbXBvcnQlJyIpICU+JQ0KICBtdXRhdGUocHJhY293bmlrX3BibCA9IHN0cl9leHRyYWN0KFpBX1VXQUdJLCAiKD88PWFrY2VwdHVqZTopKFtBLVpdKikiKSkgJT4lDQogIHNlbGVjdCgtWkFfVVdBR0kpDQpuYXp3eV9saXRfb2JjeWNoIDwtIHN0cl9yZXBsYWNlX2FsbChwYXN0ZShQQkxfbGl0ZXJhdHVyeV9vYmNlJG5hendhLGNvbGxhcHNlID0gInwiKSwiXFwoIiwiXFxcXCgiKQ0KI2FrdHVhbGl6YWNqYSAtIGRvZGFqIGRvIHNrcnlwdHUgbGlzdMSZIHogb3N0YXRuaW0gYnJha3VqxIVjeW0gemFpbXBvcnRvd2FueW0gcm9jem5pa2llbQ0KcG9wcnplZG5pZV9pbXBvcnR5IDwtIHJiaW5kKGxpc3R5XzIwMDQsbGlzdHlfMjAwNSxsaXN0eV8yMDA2LGxpc3R5XzIwMDcsbGlzdHlfMjAwOCwgbGlzdHlfMjAwOSwgbGlzdHlfMjAxMCkgJT4lDQogIGZ1bGxfam9pbiguLHphcGlzeSxieSA9ICJaQV9aQVBJU19JRCIpICU+JQ0KICBzZWxlY3QoWkFfWkFQSVNfSUQsWDY1MCxYNjU1LERaX0RaSUFMX0lELERaX05BWldBLFJaX1JPRFpBSl9JRCxSWl9OQVpXQSxwcmFjb3duaWtfcGJsLFpBX1NUQVRVU19JTVApICU+JQ0KICBtdXRhdGUoWDY1MCA9IHN0cl9yZW1vdmVfYWxsKFg2NTAsIlxcXFw3IiksDQogICAgICAgICBYNjU1ID0gc3RyX3JlbW92ZV9hbGwoWDY1NSwiXFxcXDciKSwNCiAgICAgICAgIFg2NTAgPSBzdHJfcmVtb3ZlX2FsbChzdHJfcmVwbGFjZV9hbGwoWDY1MCwiKFxcJGEpIiwiXFxcXCM3XFwxIiksIiMiKSwNCiAgICAgICAgIFg2NTUgPSBzdHJfcmVtb3ZlX2FsbChzdHJfcmVwbGFjZV9hbGwoWDY1NSwiKFxcJGEpIiwiXFxcXCM3XFwxIiksIiMiKSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIoUlpfUk9EWkFKX0lEICVub3RpbiUgYygwLDEsMiwyNTAsNzY0KSkgJT4lDQogIGFycmFuZ2UocHJhY293bmlrX3BibCxEWl9EWklBTF9JRCkgJT4lDQogIGZpbHRlcighZ3JlcGwobmF6d3lfbGl0X29iY3ljaCxYNjUwKSYhZ3JlcGwobmF6d3lfbGl0X29iY3ljaCxYNjU1KSkgJT4lDQogIGZpbHRlcighaXMubmEocHJhY293bmlrX3BibCkpICU+JQ0KICBmaWx0ZXIoWkFfU1RBVFVTX0lNUCAlaW4lIGMoIklPSyIsIklQQyIpKQ0KDQojcHJ6eXBpc2FuaWUgbmEgcG9kc3Rhd2llIGN6xJlzdG90bGl3b8WbY2kgZGVza3J5cHRvcsOzdyA2NTUNCnByemVkbWlvdG93YV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJwcnplZG1pb3Rvd2EiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcHJ6ZWRtaW90b3dlajEkWkFfVVdBR0kpDQoNCmRlc2tyeXB0b3J5NjU1IDwtIHBvcHJ6ZWRuaWVfaW1wb3J0eSAlPiUNCiAgc2VsZWN0KFg2NTUscHJhY293bmlrX3BibCxEWl9EWklBTF9JRCxEWl9OQVpXQSkgJT4lDQogIGZpbHRlcighaXMubmEoWDY1NSkpICU+JQ0KICB1bml0ZShkYXRhPS4sY29sID0gImRlc2tyeXB0b3I2NTUiLCBzZXAgPSAifiIpDQoNCmRlc2tyeXB0b3J5NjU1IDwtIGFzLmRhdGEuZnJhbWUodGFibGUoZGVza3J5cHRvcnk2NTUkZGVza3J5cHRvcjY1NSkpICU+JQ0KICBjU3BsaXQoLiwiVmFyMSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJ3aWRlIikgJT4lDQogIHJlbmFtZShYNjU1ID0gVmFyMV8xLA0KICAgICAgICAgcmVkYWt0b3JfZHppYWx1ID0gVmFyMV8yLA0KICAgICAgICAgRFpfRFpJQUxfSUQgPSBWYXIxXzMsDQogICAgICAgICBEWl9OQVpXQSA9IFZhcjFfNCkgJT4lDQogIG11dGF0ZShYNjU1ID0gc3RyX3JlbW92ZV9hbGwoWDY1NSwiXFxcXDdcXCRhIiksDQogICAgICAgICBYNjU1ID0gc3RyX3JlbW92ZV9hbGwoWDY1NSwiXFwkMkRCTiIpLA0KICAgICAgICAgWDY1NSA9IHN0cl9yZXBsYWNlX2FsbChYNjU1LCJcXCQufFxcfCIsIiAiKSwNCiAgICAgICAgIFg2NTUgPSBzdHJfcmVwbGFjZV9hbGwoWDY1NSwiICIsIi4qIiksDQogICAgICAgICBYNjU1ID0gc3RyX3JlcGxhY2VfYWxsKFg2NTUsICJbXlxccHtMfVxcZFxcKlxcLlxcLVxcc10iLCAiIikpICU+JQ0KICBhcnJhbmdlKFg2NTUsLUZyZXEsRFpfTkFaV0EpDQoNCmRlc2tyeXB0b3J5NjU1JGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZChkZXNrcnlwdG9yeTY1NVsyXSkpDQpkZXNrcnlwdG9yeTY1NSA8LSBkZXNrcnlwdG9yeTY1NVshZHVwbGljYXRlZChkZXNrcnlwdG9yeTY1NSRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KC1pZF9ncnVweSkgJT4lDQogIGFycmFuZ2UoLUZyZXEpDQoNCnggPC0gMTpsZW5ndGgoZGVza3J5cHRvcnk2NTUkWDY1NSkNCnRlc3QgPC0gZGF0YS5mcmFtZShzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpDQoNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgICBkb19wcnplZG1pb3Rvd2VqMiA8LSBwcnplZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgICAgIG11dGF0ZShyZWRha3Rvcl9kemlhbHUgPSBpZmVsc2UoZ3JlcGwoZGVza3J5cHRvcnk2NTUkWDY1NVtpXSxYNjU1KSxhcy5jaGFyYWN0ZXIoZGVza3J5cHRvcnk2NTUkcmVkYWt0b3JfZHppYWx1KVtpXSxOQSksDQogICAgICAgICAgICAgaWxlID0gaWZlbHNlKGdyZXBsKGRlc2tyeXB0b3J5NjU1JFg2NTVbaV0sWDY1NSksYXMuaW50ZWdlcihkZXNrcnlwdG9yeTY1NSRGcmVxKVtpXSxOQSksDQogICAgICAgICAgICAgY28gPSBpZmVsc2UoZ3JlcGwoZGVza3J5cHRvcnk2NTUkWDY1NVtpXSxYNjU1KSxhcy5jaGFyYWN0ZXIoZGVza3J5cHRvcnk2NTUkWDY1NSlbaV0sTkEpLA0KICAgICAgICAgICAgIERaX0RaSUFMX0lEID0gaWZlbHNlKGdyZXBsKGRlc2tyeXB0b3J5NjU1JFg2NTVbaV0sWDY1NSksYXMuaW50ZWdlcihkZXNrcnlwdG9yeTY1NSREWl9EWklBTF9JRClbaV0sTkEpLA0KICAgICAgICAgICAgIERaX05BWldBID0gaWZlbHNlKGdyZXBsKGRlc2tyeXB0b3J5NjU1JFg2NTVbaV0sWDY1NSksYXMuY2hhcmFjdGVyKGRlc2tyeXB0b3J5NjU1JERaX05BWldBKVtpXSxOQSkpICU+JQ0KICAgICAgZmlsdGVyKCFpcy5uYShyZWRha3Rvcl9kemlhbHUpKQ0KICAgIGlmIChsZW5ndGgoZG9fcHJ6ZWRtaW90b3dlajIkcmVkYWt0b3JfZHppYWx1KT4wKSB7DQogICAgICB0ZXN0IDwtIHJiaW5kKHRlc3QsZG9fcHJ6ZWRtaW90b3dlajIpDQogICAgfSBlbHNlIHt9DQogICAgDQp9DQpjb3VudCA8LSBhcy5kYXRhLmZyYW1lKHRhYmxlKHRlc3QkWkFfVVdBR0kpKQ0KZG9fcHJ6ZWRtaW90b3dlajIgPC0gbWVyZ2UodGVzdCxjb3VudCwgYnkueCA9ICJaQV9VV0FHSSIsYnkueSA9ICJWYXIxIikgJT4lDQogIG11dGF0ZShkbHVnb3NjID0gbmNoYXIoY28pKSAlPiUNCiAgYXJyYW5nZSgtRnJlcSxaQV9VV0FHSSwtZGx1Z29zYywtaWxlKQ0KDQpkb19wcnplZG1pb3Rvd2VqMiRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoZG9fcHJ6ZWRtaW90b3dlajJbMV0pKQ0KZG9fcHJ6ZWRtaW90b3dlajIgPC0gZG9fcHJ6ZWRtaW90b3dlajJbIWR1cGxpY2F0ZWQoZG9fcHJ6ZWRtaW90b3dlajIkaWRfZ3J1cHkpLF0gJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gTkEsDQogICAgICAgICBUV19JTUlFID0gTkEsDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAyMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB3IGhhxZtsZSByemVjem93eW0iKSAlPiUNCiAgc2VsZWN0KG5hbWVzKGRvX3ByemVkbWlvdG93ZWoxKSkNCiNwcnp5cGlzYW5pZSBuYSBwb2RzdGF3aWUgY3rEmXN0b3RsaXdvxZtjaSBkZXNrcnlwdG9yw7N3IDY1MA0KcHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InByemVkbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wcnplZG1pb3Rvd2VqMSRaQV9VV0FHSSkgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3ByemVkbWlvdG93ZWoyJFpBX1VXQUdJKQ0KDQpkZXNrcnlwdG9yeTY1MCA8LSBwb3ByemVkbmllX2ltcG9ydHkgJT4lDQogIHNlbGVjdChYNjUwLHByYWNvd25pa19wYmwsRFpfRFpJQUxfSUQsRFpfTkFaV0EpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKFg2NTApKSAlPiUNCiAgdW5pdGUoZGF0YT0uLGNvbCA9ICJkZXNrcnlwdG9yNjUwIiwgc2VwID0gIn4iKQ0KDQpkZXNrcnlwdG9yeTY1MCA8LSBhcy5kYXRhLmZyYW1lKHRhYmxlKGRlc2tyeXB0b3J5NjUwJGRlc2tyeXB0b3I2NTApKSAlPiUNCiAgY1NwbGl0KC4sIlZhcjEiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAid2lkZSIpICU+JQ0KICByZW5hbWUoWDY1MCA9IFZhcjFfMSwNCiAgICAgICAgIHJlZGFrdG9yX2R6aWFsdSA9IFZhcjFfMiwNCiAgICAgICAgIERaX0RaSUFMX0lEID0gVmFyMV8zLA0KICAgICAgICAgRFpfTkFaV0EgPSBWYXIxXzQpICU+JQ0KICBtdXRhdGUoWDY1MCA9IHN0cl9yZW1vdmVfYWxsKFg2NTAsIlxcXFw3XFwkYSIpLA0KICAgICAgICAgWDY1MCA9IHN0cl9yZW1vdmVfYWxsKFg2NTAsIlxcJDJEQk4iKSwNCiAgICAgICAgIFg2NTAgPSBzdHJfcmVtb3ZlX2FsbChYNjUwLCJcXFxcXFxcXCIpLA0KICAgICAgICAgWDY1MCA9IHN0cl9yZXBsYWNlX2FsbChYNjUwLCJcXCQufFxcfCIsIiAiKSwNCiAgICAgICAgIFg2NTAgPSBzdHJfcmVwbGFjZV9hbGwoWDY1MCwiICIsIi4qIiksDQogICAgICAgICBYNjUwID0gc3RyX3JlcGxhY2VfYWxsKFg2NTAsICJbXlxccHtMfVxcZFxcKlxcLlxcLVxcc10iLCAiIikpICU+JQ0KICBhcnJhbmdlKFg2NTAsLUZyZXEsRFpfTkFaV0EpDQoNCmRlc2tyeXB0b3J5NjUwJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZChkZXNrcnlwdG9yeTY1MFsyXSkpDQpkZXNrcnlwdG9yeTY1MCA8LSBkZXNrcnlwdG9yeTY1MFshZHVwbGljYXRlZChkZXNrcnlwdG9yeTY1MCRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KC1pZF9ncnVweSkgJT4lDQogIGFycmFuZ2UoLUZyZXEpDQoNCnggPC0gMTpsZW5ndGgoZGVza3J5cHRvcnk2NTAkWDY1MCkNCnRlc3QgPC0gZGF0YS5mcmFtZShzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogICAgZG9fcHJ6ZWRtaW90b3dlajMgPC0gcHJ6ZWRtaW90b3dhX3JlZGFrdG9yenkgJT4lDQogICAgICBtdXRhdGUocmVkYWt0b3JfZHppYWx1ID0gaWZlbHNlKGdyZXBsKGRlc2tyeXB0b3J5NjUwJFg2NTBbaV0sWDY1MCksYXMuY2hhcmFjdGVyKGRlc2tyeXB0b3J5NjUwJHJlZGFrdG9yX2R6aWFsdSlbaV0sTkEpLA0KICAgICAgICAgICAgIGlsZSA9IGlmZWxzZShncmVwbChkZXNrcnlwdG9yeTY1MCRYNjUwW2ldLFg2NTApLGFzLmludGVnZXIoZGVza3J5cHRvcnk2NTAkRnJlcSlbaV0sTkEpLA0KICAgICAgICAgICAgIGNvID0gaWZlbHNlKGdyZXBsKGRlc2tyeXB0b3J5NjUwJFg2NTBbaV0sWDY1MCksYXMuY2hhcmFjdGVyKGRlc2tyeXB0b3J5NjUwJFg2NTApW2ldLE5BKSwNCiAgICAgICAgICAgICBEWl9EWklBTF9JRCA9IGlmZWxzZShncmVwbChkZXNrcnlwdG9yeTY1MCRYNjUwW2ldLFg2NTApLGFzLmludGVnZXIoZGVza3J5cHRvcnk2NTAkRFpfRFpJQUxfSUQpW2ldLE5BKSwNCiAgICAgICAgICAgICBEWl9OQVpXQSA9IGlmZWxzZShncmVwbChkZXNrcnlwdG9yeTY1MCRYNjUwW2ldLFg2NTApLGFzLmNoYXJhY3RlcihkZXNrcnlwdG9yeTY1MCREWl9OQVpXQSlbaV0sTkEpKSAlPiUNCiAgICAgIGZpbHRlcighaXMubmEocmVkYWt0b3JfZHppYWx1KSkNCiAgICBpZiAobGVuZ3RoKGRvX3ByemVkbWlvdG93ZWozJHJlZGFrdG9yX2R6aWFsdSk+MCkgew0KICAgICAgdGVzdCA8LSByYmluZCh0ZXN0LGRvX3ByemVkbWlvdG93ZWozKQ0KICAgIH0gZWxzZSB7fQ0KICAgIA0KfQ0KY291bnQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZSh0ZXN0JFpBX1VXQUdJKSkNCmRvX3ByemVkbWlvdG93ZWozIDwtIG1lcmdlKHRlc3QsY291bnQsIGJ5LnggPSAiWkFfVVdBR0kiLGJ5LnkgPSAiVmFyMSIpICU+JQ0KICBtdXRhdGUoZGx1Z29zYyA9IG5jaGFyKGNvKSkgJT4lDQogIGFycmFuZ2UoLUZyZXEsWkFfVVdBR0ksLWRsdWdvc2MsLWlsZSkNCg0KZG9fcHJ6ZWRtaW90b3dlajMkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKGRvX3ByemVkbWlvdG93ZWozWzFdKSkNCmRvX3ByemVkbWlvdG93ZWozIDwtIGRvX3ByemVkbWlvdG93ZWozWyFkdXBsaWNhdGVkKGRvX3ByemVkbWlvdG93ZWozJGlkX2dydXB5KSxdICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19wcnplZG1pb3Rvd2VqMSkpDQoNCmRvX3ByemVkbWlvdG93ZWogPC0gcmJpbmQoZG9fcHJ6ZWRtaW90b3dlajEsZG9fcHJ6ZWRtaW90b3dlajIsZG9fcHJ6ZWRtaW90b3dlajMpDQojcHJ6eXBpc2FuaWUgcHJ6ZWRtaW90b3dlaiBuYSBwb2RzdGF3aWUgc8WCb3duaWthIHBvasSZxIcNCmRvX3ByemVkbWlvdG93ZWogPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InByemVkbWlvdG93YSIpICU+JQ0KICBsZWZ0X2pvaW4oLixkb19wcnplZG1pb3Rvd2VqLGJ5PSJaQV9VV0FHSSIpICU+JQ0KI3ByenlwaXNhbmllIG5hIHBvZHN0YXdpZSB6ZGVmaW5pb3dhbnljaCBzxYLDs3cgKGRvcGlzYW5pZSBkbyBnb3Rvd2VnbyBwbGlrdSkNCiAgbXV0YXRlKHJlZGFrdG9yX2R6aWFsdSA9IGlmZWxzZShpcy5uYShyZWRha3Rvcl9kemlhbHUpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgidGVhdHIiLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgidGVhdHIiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiTUFSVEFLIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJmaWxtIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImZpbG0iLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiT0xBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoInRlbGV3aXpqIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoInRlbGV3aXpqIixYNjUwLGlnbm9yZS5jYXNlID0gVFJVRSksIkVXQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgicmFkaW8iLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgicmFkaW8iLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiRVdBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiY3phc29waXNtIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImN6YXNvcGlzbSIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJUT01BU1oiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgid3lkYXduaWN0dyIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJ3eWRhd25pY3R3IixYNjUwLGlnbm9yZS5jYXNlID0gVFJVRSksIkJBUkJBUkFXIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJvZCAxOTg5IixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoIm9kIDE5ODkiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiUEFVTElOQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIsSHd2ljemV8emFkYW58c3prb8WCfHN6a8OzxYJ8c2NlbmFyaXVzeiB6YWrEmcSHfHNjZW5hcml1c3plIHphasSZxId8emFqxJnEh3xwb21vY25pY3p8cG9kcsSZY3puaWsiLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgixId3aWN6ZXx6YWRhbnxzemtvxYJ8c3prw7PFgnxzY2VuYXJpdXN6IHphasSZxId8c2NlbmFyaXVzemUgemFqxJnEh3x6YWrEmcSHfHBvbW9jbmljenxwb2RyxJljem5payIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJLQVJPTElOQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJzY2VuaWN6biIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJzY2VuaWN6biIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJNQVJUQUsiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoInRlb3JpYXxzb2Nqb2xvZ2lhfGFudHJvcG9sb2dpYXxtZXRhZml6eWt8aW50ZXJwcmV0YWN8Zmlsb3pvZiIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJ0ZW9yaWF8c29jam9sb2dpYXxhbnRyb3BvbG9naWF8bWV0YWZpenlrfGludGVycHJldGFjfGZpbG96b2YiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiUEFVTElOQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoImx1ZG93fHp3eWN6fG9ieWN6fGZvbGtsIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImx1ZG93fHp3eWN6fG9ieWN6fGZvbGtsIixYNjUwLGlnbm9yZS5jYXNlID0gVFJVRSksIkFOSUEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgia2F0b2xpY3xiaWJsaWF8YmlibGlqfGtvxZtjacOzxYIiLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgia2F0b2xpY3xiaWJsaWF8YmlibGlqfGtvxZtjacOzxYIiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiQkVBVEFTIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJkcnVrfHLEmWtvcGl8aW5rdW5hYnxpbndlbnR8YmlibGlvZ3J8c8WCb3duaWt8YmlibGlvdGVrIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImRydWt8csSZa29waXxpbmt1bmFifGlud2VudHxiaWJsaW9ncnxzxYJvd25pa3xiaWJsaW90ZWsiLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSwiSVpBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiemFiYXdrfGR6aWVjIixYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoInphYmF3a3xkemllYyIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJCQVJCQVJBVyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJ0ZW1hdHlrYXwyMC0yMSB3LnwyMSB3LiIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJ0ZW1hdHlrYXwyMC0yMSB3LnwyMSB3LiIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJQQVVMSU5BIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIxOXwxOHwxN3wxNnwxNXwxNHwxMyIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCIxOXwxOHwxN3wxNnwxNXwxNHwxMyIsWDY1MCxpZ25vcmUuY2FzZSA9IFRSVUUpLCJHT1NJQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoInBvbGl0eWsiLFg2NTUsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpfGdyZXBsKCJwb2xpdHlrIixYNjUwLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKSwiUEFVTElOQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJoaXN0b3JpYSIsWDY1NSxYNjU1LGlnbm9yZS5jYXNlID0gVFJVRSl8Z3JlcGwoImhpc3RvcmlhIixYNjUwLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKSwiR09TSUEiLE5BKSkpKSkpKSkpKSkpKSkpKSkpLGFzLmNoYXJhY3RlcihyZWRha3Rvcl9kemlhbHUpKSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IGlmZWxzZShpcy5uYShSWl9ST0RaQUpfSUQpLDIxLGFzLmludGVnZXIoUlpfUk9EWkFKX0lEKSksDQogICAgICAgICBSWl9OQVpXQSA9IGlmZWxzZShpcy5uYShSWl9OQVpXQSksImtzacSFxbxrYSB3IGhhxZtsZSByemVjem93eW0iLGFzLmNoYXJhY3RlcihSWl9OQVpXQSkpKSAlPiUNCiAgc2VsZWN0KG5hbWVzKGRvX3ByemVkbWlvdG93ZWoxKSkgJT4lDQogIGZpbHRlcighaXMubmEocmVkYWt0b3JfZHppYWx1KSkNCiN3eWRvYnljaWUgemJpb3J1LCBrdMOzcnkgY2nEhWdsZSBuaWUgbWEgcHJ6eXBpc2FueWNoIHJlZGFrdG9yw7N3IGRvIHByemVkbWlvdG93ZWoNCnByemVkbWlvdG93YV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJwcnplZG1pb3Rvd2EiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcHJ6ZWRtaW90b3dlaiRaQV9VV0FHSSkNCiNkbGEga3NpxIXFvGVrLCBrdMOzcmUgbWFqxIUga2lsa3UgYXV0b3LDs3cgdyBvc29iYV9ibl90ZW1hdCAtIHByenlwaXNhbmllIGRvIHJlZGFrdG9yYSBwb3dzemVjaG5laiAtIEJFQVRBRD8NCmRvX3ByemVkbWlvdG93ZWo0IDwtIHByemVkbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBmaWx0ZXIoIWlzLm5hKG9zb2JhX2JuX3RlbWF0KSkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gTkEsDQogICAgICAgICBUV19JTUlFID0gTkEsDQogICAgICAgICBEWl9EWklBTF9JRCA9IE5BLA0KICAgICAgICAgRFpfTkFaV0EgPSBOQSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDIxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHcgaGHFm2xlIHJ6ZWN6b3d5bSIsDQogICAgICAgICByZWRha3Rvcl9kemlhbHUgPSAiQkVBVEFEIikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19wcnplZG1pb3Rvd2VqMSkpDQojZGxhIGtzacSFxbxlaywga3TDs3JlIG5pZSBtYWrEhSB3eXBlxYJuaW9uZWdvIG9zb2JhX2JuX2F1dG9yIC0gcHJ6eXBpc2FuaWUgZG8gTWFydHkgeiB4PyBjenkgbG9zb3dvIGRvIGtvZ2/Fmz8NCmRvX3ByemVkbWlvdG93ZWo1IDwtIHByemVkbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBmaWx0ZXIoaXMubmEob3NvYmFfYm5fYXV0b3IpKSAlPiUNCiAgbXV0YXRlKFRXX1RXT1JDQV9JRCA9IE5BLA0KICAgICAgICAgVFdfTkFaV0lTS08gPSBOQSwNCiAgICAgICAgIFRXX0lNSUUgPSBOQSwNCiAgICAgICAgIERaX0RaSUFMX0lEID0gTkEsDQogICAgICAgICBEWl9OQVpXQSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIiwNCiAgICAgICAgIHJlZGFrdG9yX2R6aWFsdSA9ICJNQVJUQUt4IikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19wcnplZG1pb3Rvd2VqMSkpDQojcG/FgmFjemVuaWUgd3N6eXN0a2ljaCBwcnplZG1pb3Rvd3ljaCB6IHByenlwaXNhbnltaSByZWRha3RvcmFtaSB3IGplZGVuIHBsaWsNCmRvX3ByemVkbWlvdG93ZWogPC0gcmJpbmQoZG9fcHJ6ZWRtaW90b3dlaixkb19wcnplZG1pb3Rvd2VqNCxkb19wcnplZG1pb3Rvd2VqNSkNCiNkbGEga3NpxIXFvGVrLCBrdMOzcmUgbWFqxIUgd3lwZcWCbmlvbmUgb3NvYmFfYm5fYXV0b3IgLSB6bWlhbmEgbmEgcG9kbWlvdG93xIUgZG8gcsSZY3puZWdvIHByemVqcnplbmlhIGkgcHJ6eXBpc2FuaWUgcmVkYWt0b3LDs3cNCiMjI3ByenlwaXNhbmllIGRvIHBvZG1pb3Rvd2VqISEhISEhISEhISEhISEhISEhISMjIyMjIyMjIyMjIyMjIw0KZG9fcG9kbWlvdG93ZWoxIDwtIHByemVkbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBmaWx0ZXIoIWlzLm5hKG9zb2JhX2JuX2F1dG9yKSkNCiN0cnplYmEgemFrdHVhbGl6b3dhxIcgdyBibl9vaywgxbxlIHRlcmF6IHRvIHPEhSBwb2RtaW90b3dlDQojbGlzdGEgcmVrb3Jkw7N3IGRvIHByemVwaXNhbmlhIHogcHJ6ZWRtaW90b3dlaiBuYSBwb2RtaW90b3fEhQ0KbGlzdGFfZG9fcHJ6ZXBpc2FuaWEgPC0gZG9fcG9kbWlvdG93ZWoxJFpBX1VXQUdJDQpibl9vayRyb2R6YWpfa3NpYXpraVtibl9vayRaQV9VV0FHSSAlaW4lIGxpc3RhX2RvX3ByemVwaXNhbmlhXSA8LSAicG9kbWlvdG93YSINCiN0bywgY28gYnnFgm8gcG9kbWlvdG93xIUgYmV6IGF1dG9yYSBwb3dpbm5vIHRyYWZpxIcgZG8gbGl0ZXJhdHVyeSBhbm9uaW1vd2VqIHogcHJhY293bmlraWVtIHByemVkbSwgd2nEmWMgdGVyYXogdHJ6ZWJhIHRvIHByemVwaXNhxIcgZG8gcHJ6ZWRtaW90b3dlaiAtIG5hIGtvxYRjdSBwcm9jZXN1DQpwb2RtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiJlgxMDA9PSIiKQ0KI3ByenlwaXNhbmllIGxpdGVyYXR1cnkgYW5vbmltb3dlag0KIzY1NQ0KbWFyY19maWVsZF82NTUgPC0gcG9kbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDY1NSklPiUNCiAgZmlsdGVyKFg2NTUhPSIiKSAlPiUNCiAgbXV0YXRlKFg2NTU9c3RyX3JlcGxhY2VfYWxsKFg2NTUsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDY1NSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNjU1IT0iIikgJT4lDQogIG11dGF0ZShYNjU1PXN0cl9yZW1vdmVfYWxsKFg2NTUsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDY1NSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChwb2RtaW90b3dhX3JlZGFrdG9yenkkWDY1NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzY1NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82NTU8LWNiaW5kKG1hcmNfZmllbGRfNjU1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjU1JFg2NTUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82NTUkWDY1NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF82NTVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF82NTUkWDY1NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNjU1JFg2NTUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF82NTUgPC0gbWFyY19maWVsZF82NTUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgKSAlPiUNCiAgdW5pcXVlKCkNCnRyaW0gPC0gZnVuY3Rpb24gKHgpIGdzdWIoIl5cXHMrfFxccyskIiwgIiIsIHgpDQpQQkxfbGl0ZXJhdHVyeV9hbm9uaW1vd2UgPC0gUEJMX2R6aWFseV9wYXRoICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIlV0d29yeSBhbm9uaW0iLERaX05BWldBKSkgJT4lDQogIHNlbGVjdChEWl9EWklBTF9JRCxEWl9OQVpXQSxOQURfTkFEX0RaX0RaSUFMX0lEKSAlPiUNCiAgbGVmdF9qb2luKC4scmVkYWt0b3J6eV9kemlhbG93LGJ5ID0gYygiTkFEX05BRF9EWl9EWklBTF9JRCI9IkRaX0RaSUFMX0lEIikpICU+JQ0KICBzZWxlY3QoMSxEWl9OQVpXQSA9IDIsNSkgJT4lDQogIGZpbHRlcihEWl9EWklBTF9JRCAlbm90aW4lIGMoMTkyMiwxOTgzKSkgJT4lDQogIGdyb3VwX2J5KERaX0RaSUFMX0lEKSAlPiUNCiAgbXV0YXRlKG5hendhID0gcGFzdGUodHJpbSh1bmxpc3Qoc3RyX2V4dHJhY3RfYWxsKERaX05BWldBLCIoPzw9XFwoKSguKj8pKD89XFwofFxcKSkiKSkpLGNvbGxhcHNlID0gInwiKSwNCiAgICAgICAgIG5hendhID0gc3RyX3JlbW92ZV9hbGwobmF6d2EsIiguKSg/PVxcfHwkKSIpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfcmVtb3ZlKG5hendhLCJsaXRlcmF0dXIuICIpLA0KICAgICAgICAgbmF6d2EgPSBpZmVsc2UobmF6d2E9PSIiLCJwb2xzayIsYXMuY2hhcmFjdGVyKG5hendhKSksDQogICAgICAgICByZWRha3Rvcl9kemlhbHUgPSBpZmVsc2UoaXMubmEocmVkYWt0b3JfZHppYWx1KSwiQU5JQSIsYXMuY2hhcmFjdGVyKHJlZGFrdG9yX2R6aWFsdSkpKSAlPiUNCiAgdW5ncm91cCgpDQoNCnJlY3puZSA8LSBkYXRhLmZyYW1lKERaX0RaSUFMX0lEID0gYyg4OTksNjk0LDY5NCwxMTc0LDE0NSwxMjIwKSxEWl9OQVpXQSA9IGMoIlV0d29yeSBhbm9uaW1vd2UgKEluZGlpKSIsIlV0d29yeSBhbm9uaW1vd2UgKGJyeXR5anNrYSBpIGlybGFuZHprYSkiLCJVdHdvcnkgYW5vbmltb3dlIChicnl0eWpza2EgaSBpcmxhbmR6a2EpIiwiVXR3b3J5IGFub25pbW93ZSAoc3Rhcm9zxYJvd2lhxYRza2EpIiwiVXR3b3J5IGFub25pbW93ZSBpIHVsb3RuZSIsIlV0d29yeSBhbm9uaW1vd2UgKHR1cmVja2EpIiksIHJlZGFrdG9yX2R6aWFsdSA9IGMoIkVXQSIsIkJFQVRBSyIsIkJFQVRBSyIsIkJFQVRBRCIsIkFOSUEiLCJFV0EiKSwgbmF6d2EgPSBjKCJpbmR5anNrIiwid2FsaWpzayIsImFuZ2llbHNrIiwic3Rhcm9ydXNrIiwia2FzenVic2siLCJub2dhanNrIikpDQoNClBCTF9saXRlcmF0dXJ5X2Fub25pbW93ZSA8LSByYmluZChQQkxfbGl0ZXJhdHVyeV9hbm9uaW1vd2UscmVjem5lKQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1hcmNfZmllbGRfNjU1IGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gUEJMX2xpdGVyYXR1cnlfYW5vbmltb3dlIGIgb24gYS5gJGFgIGxpa2UgKCclJ3x8Yi5uYXp3YXx8JyUnKSIpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLERaX0RaSUFMX0lEKQ0KDQptYXJjX2ZpZWxkXzY1NSRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1NVsxXSkpDQptYXJjX2ZpZWxkXzY1NSA8LSBtYXJjX2ZpZWxkXzY1NVshZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1NSRzYW1lKSxdICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksRFpfRFpJQUxfSUQsRFpfTkFaV0EscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIikgJT4lDQogIHNlbGVjdChuYW1lcyhtYXJjX2ZpZWxkXzYwMCkpDQojIyNwcnp5cGlzYW5pZSBkbyByZWRha3RvcsOzdyBsaXRlcmF0dXJ5IGFub25pbW93ZWogbmEgcG9kc3Rhd2llIGxpdGVyYXR1cnkgeiBwb2xhIDY1MA0KcG9kbWlvdG93YV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJwb2RtaW90b3dhIiZYMTAwPT0iIikgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIG1hcmNfZmllbGRfNjU1JFpBX1VXQUdJKQ0KDQojNjUwDQptYXJjX2ZpZWxkXzY1MCA8LSBwb2RtaW90b3dhX3JlZGFrdG9yenkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjUwKSU+JQ0KICBmaWx0ZXIoWDY1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDY1MD1zdHJfcmVwbGFjZV9hbGwoWDY1MCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNjUwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg2NTAhPSIiKSAlPiUNCiAgbXV0YXRlKFg2NTA9c3RyX3JlbW92ZV9hbGwoWDY1MCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNjUwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSRYNjUwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNjUwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzY1MDwtY2JpbmQobWFyY19maWVsZF82NTAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF82NTAkWDY1MCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzY1MCRYNjUwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzY1MFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzY1MCRYNjUwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF82NTAkWDY1MCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQptYXJjX2ZpZWxkXzY1MCA8LSBtYXJjX2ZpZWxkXzY1MCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWApICU+JQ0KICB1bmlxdWUoKQ0KDQptYXJjX2ZpZWxkXzY1MCA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1hcmNfZmllbGRfNjUwIGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gUEJMX2xpdGVyYXR1cnlfYW5vbmltb3dlIGIgb24gYS5gJGFgIGxpa2UgKCclJ3x8Yi5uYXp3YXx8JyUnKSIpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLERaX0RaSUFMX0lEKQ0KDQptYXJjX2ZpZWxkXzY1MCRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1MFsxXSkpDQptYXJjX2ZpZWxkXzY1MCA8LSBtYXJjX2ZpZWxkXzY1MFshZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1MCRzYW1lKSxdICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksRFpfRFpJQUxfSUQsRFpfTkFaV0EscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIikgJT4lDQogIHNlbGVjdChuYW1lcyhtYXJjX2ZpZWxkXzYwMCkpDQpkb19wb2RtaW90b3dlajEgPC0gcmJpbmQobWFyY19maWVsZF82NTUsbWFyY19maWVsZF82NTApDQoNCiNjbyB6cm9iacSHIHogcG96b3N0YcWCeW1pIHBvZG1pb3Rvd3ltaSBhbm9uaW1vd3ltaSwga3TDs3J5Y2ggbmllIHVkYcWCbyBzacSZIHByenlwaXNhxIc/DQpwb2RtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiJlgxMDA9PSIiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWoxJFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKFRXX1RXT1JDQV9JRCA9IE5BLA0KICAgICAgICAgVFdfTkFaV0lTS08gPSBOQSwNCiAgICAgICAgIFRXX0lNSUUgPSBOQSwNCiAgICAgICAgIERaX0RaSUFMX0lEID0gTkEsDQogICAgICAgICBEWl9OQVpXQSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIiwNCiAgICAgICAgIHJlZGFrdG9yX2R6aWFsdSA9ICJLQVJPTElOQSIpICU+JQ0KICBzZWxlY3QobmFtZXMoZG9fcHJ6ZWRtaW90b3dlajEpKQ0KZG9fcG9kbWlvdG93ZWoxIDwtIHJiaW5kKGRvX3BvZG1pb3Rvd2VqMSxwb2RtaW90b3dhX3JlZGFrdG9yenkpDQoNCiNsaXN0YSByZWtvcmTDs3cgZG8gcHJ6ZXBpc2FuaWEgeiBwb2RtaW90b3dlaiBuYSBwcnplZG1pb3Rvd8SFIChjaG9kemkgbyBsaXRlcmF0dXLEmSBhbm9uaW1vd8SFKQ0KbGlzdGFfZG9fcHJ6ZXBpc2FuaWEgPC0gZG9fcG9kbWlvdG93ZWoxJFpBX1VXQUdJDQpibl9vayRyb2R6YWpfa3NpYXpraVtibl9vayRaQV9VV0FHSSAlaW4lIGxpc3RhX2RvX3ByemVwaXNhbmlhXSA8LSAicHJ6ZWRtaW90b3dhIg0KDQojcHJ6ZXR3b3J6ZW5pZSBjYcWCZWogcG9kbWlvdG93ZWogKGJvIHBsaWsgZG9fcG9kbWlvdG93ZWoxIGp1xbwgamVzdCB3IMWbcm9ka3UpDQojIyNwcnp5cGlzYW5pZSByZWRha3RvcmEgbmEgcG9kc3Rhd2llIG9zb2J5IHogMTAwIGpha28gdHfDs3JjeSAoYXV0b3JhKSAodGFiZWxhIHBibC1ibi12aWFmKS0ga3NpxIXFvGtpIHR3w7NyY3kNCiMxMDANCnBvZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajEkWkFfVVdBR0kpDQoNCm1hcmNfZmllbGRfMTAwIDwtIHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgxMDApJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgxMDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVtb3ZlX2FsbChYMTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgxMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocG9kbWlvdG93YV9yZWRha3Rvcnp5JFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzEwMCA8LSBtYXJjX2ZpZWxkXzEwMCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRkYCxgJGNgKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBpZmVsc2UoIWlzLm5hKGAkY2ApJnN1YnN0cihgJGNgLG5jaGFyKGAkY2ApLG5jaGFyKGAkY2ApKT09IjsiLHBhc3RlKGAkYWAsYCRjYCxgJGRgLHNlcCA9ICIgIiksaWZlbHNlKCFpcy5uYShgJGRgKSxwYXN0ZShgJGFgLGAkZGAsc2VwID0gIiAiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxuYW1lKSAlPiUNCiAgbXV0YXRlKG5hbWUgPSBzdHJfcmVwbGFjZShuYW1lLCIoXFwpKShcXC4kKSIsIlxcMSIpLA0KICAgICAgICAgbmFtZSA9IHN0cl9yZXBsYWNlKG5hbWUsICIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIsIlxcMSIpKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUobmFtZSA9IHBhc3RlKG5hbWUsY29sbGFwc2UgPSAifCIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKQ0KDQpkb19wb2RtaW90b3dlajIgPC0gbWFyY19maWVsZF8xMDAgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBpbm5lcl9qb2luKC4scGJsX3ZpYWYsYnkgPSBjKCJuYW1lIiA9ICJCTl9uYW1lIikpICU+JQ0KICBpbm5lcl9qb2luKC4sUEJMX3R3b3JjeSxieSA9IGMoInBibF9pZCI9IlRXX1RXT1JDQV9JRCIpKSAlPiUNCiAgbGVmdF9qb2luKC4scmVkYWt0b3J6eV9kemlhbG93LGJ5ID0gYygiVFdfRFpfRFpJQUxfSUQiPSJEWl9EWklBTF9JRCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFRXX1RXT1JDQV9JRD1wYmxfaWQsVFdfTkFaV0lTS08sVFdfSU1JRSxEWl9EWklBTF9JRD1UV19EWl9EWklBTF9JRCxEWl9OQVpXQT1EWl9OQVpXQS54LHJlZGFrdG9yX2R6aWFsdSkgJT4lDQogIG11dGF0ZShSWl9ST0RaQUpfSUQgPSAxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHR3w7NyY3kgKHBvZG1pb3Rvd2EpIikgJT4lDQogIHVuaXF1ZSgpDQoNCiMjI3ByenlwaXNhbmllIHJlZGFrdG9yYSBuYSBwb2RzdGF3aWUgemJpZcW8bm/Fm2NpIGZyYXogbmF6ZXduaWN0d2Egb3NvYnkgeiAxMDAgeiB0d8OzcmPEhSBwYmwgKGRsYSB0eWNoLCBrdMOzcmUgbmllIHpvc3RhxYJ5IHptYXBvd2FuZSBuYSBsaW5paSBwYmwtYm4pIC0ga3NpxIXFvGtpIHR3w7NyY3kNCnBvZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajEkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajIkWkFfVVdBR0kpDQoNCiMxMDANCm1hcmNfZmllbGRfMTAwIDwtIHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgxMDApJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgxMDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVtb3ZlX2FsbChYMTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgxMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocG9kbWlvdG93YV9yZWRha3Rvcnp5JFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCmRvX3BvZG1pb3Rvd2VqMyA8LSBtYXJjX2ZpZWxkXzEwMCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWApICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIig/PD1bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKFxcLiQpIikpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoYCRhYCxjb2xsYXBzZSA9ICJ8IikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoVFdfTkFaV0lTS08gPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIHN0cl9yZXBsYWNlX2FsbChzdHJfcmVtb3ZlX2FsbChgJGFgLCIsIiksIlxcfCIsIiwgIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKGAkYWApKSksDQogICAgICAgICBUV19JTUlFID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCIqIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIsIixgJGFgKSxzdHJfcmVwbGFjZV9hbGwoYCRhYCwiKC4qPykoLCApKC4qKSIsIlxcMyIpLCIqIikpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKHBhc3RlKFRXX05BWldJU0tPLFRXX0lNSUUsc2VwID0gIiIpKSwgIlxcVyIsICIiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxUV19OQVpXSVNLTyxUV19JTUlFLG5hendhKSAlPiUgDQogIGlubmVyX2pvaW4oLixQQkxfdHdvcmN5X3BvZG0gJT4lIHNlbGVjdChUV19UV09SQ0FfSUQsRFpfRFpJQUxfSUQ9VFdfRFpfRFpJQUxfSUQsRFpfTkFaV0EsbmF6d2EpLGJ5PSJuYXp3YSIpDQpkb19wb2RtaW90b3dlajMkc2FtZSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoZG9fcG9kbWlvdG93ZWozWzE6NF0pKQ0KZG9fcG9kbWlvdG93ZWozIDwtIGRvX3BvZG1pb3Rvd2VqMyAlPiUgDQogIGFycmFuZ2UoWkFfVVdBR0ksVFdfTkFaV0lTS08sVFdfSU1JRSxuYXp3YSxUV19UV09SQ0FfSUQpDQpkb19wb2RtaW90b3dlajMgPC0gZG9fcG9kbWlvdG93ZWozWyFkdXBsaWNhdGVkKGRvX3BvZG1pb3Rvd2VqMyRzYW1lKSxdICU+JSANCiAgbXV0YXRlKERaX0RaSUFMX0lEID0gYXMuaW50ZWdlcihEWl9EWklBTF9JRCksDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHR3w7NyY3kgKHBvZG1pb3Rvd2EpIikgJT4lIA0KICBpbm5lcl9qb2luKC4scmVkYWt0b3J6eV9kemlhbG93ICU+JSBzZWxlY3QoRFpfRFpJQUxfSUQscmVkYWt0b3JfZHppYWx1KSxieT0iRFpfRFpJQUxfSUQiKSAlPiUgDQogIHNlbGVjdChuYW1lcyhkb19wb2RtaW90b3dlajEpKQ0KDQojIyNwcnp5cGlzYW5pZSBhdXRvcsOzdyBwb2RtaW90b3dlaiBkbyBsaXRlcmF0dXIgaSBwcnp5cGlzYW5pZSBkbyByZWRha3RvcsOzdyBuYSBwb2RzdGF3aWUga29kdSBsaXRlcmF0dXJ5IHogcG9sYSBYMDgwIGkgdHdvcnplbmllIG5vd3ljaCB0d8OzcmPDs3cgbmEgcG9kc3Rhd2llIHBvbGEgMTAwDQpwb2RtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWoxJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWoyJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWozJFpBX1VXQUdJKQ0KDQpwb2RtaW90b3dhX3JlZGFrdG9yenkgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBwb2RtaW90b3dhX3JlZGFrdG9yenkgYQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW4gQk5fUEJMX2xpc3RhX2xpdGVyYXR1ciBiIG9uIGEuWDA4MCBsaWtlICgnJSd8fGIudWtkX29nb2xuZXx8JyUnKSIpDQoNCiMjI2RvZGF3YW5pZSBuYXpld25pY3R3IG5vd3ljaCB0d8OzcmPDs3cNCiMxMDANCm1hcmNfZmllbGRfMTAwIDwtIHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgxMDApJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgxMDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVtb3ZlX2FsbChYMTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgxMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocG9kbWlvdG93YV9yZWRha3Rvcnp5JFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm1hcmNfZmllbGRfMTAwIDwtIG1hcmNfZmllbGRfMTAwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBwYXN0ZShgJGFgLGNvbGxhcHNlID0gInwiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShUV19OQVpXSVNLTyA9IGlmZWxzZShncmVwbCgiXFx8IixgJGFgKSwgc3RyX3JlcGxhY2VfYWxsKHN0cl9yZW1vdmVfYWxsKGAkYWAsIiwiKSwiXFx8IiwiLCAiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiLCIsYCRhYCksc3RyX3JlcGxhY2VfYWxsKGAkYWAsIiguKj8pKCwgKSguKikiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSwNCiAgICAgICAgIFRXX0lNSUUgPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIioiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwzIiksIioiKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksVFdfTkFaV0lTS08sVFdfSU1JRSkNCiNqb2luIG5hIHBvZHN0YXdpZSBpZGVudHljem5lZ28gaWQNCnBvZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBwb2RtaW90b3dhX3JlZGFrdG9yenkgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMTAwLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUocGJsX25hendhID0gYXMuY2hhcmFjdGVyKHBibF9uYXp3YSkpICU+JQ0KICBtdXRhdGUoRFpfRFpJQUxfSUQgPSBpZmVsc2UobmF6d2FfcHJvc3RhPT0icG9sc2siJnN1YnN0cihwYmxfbmF6d2EsbmNoYXIocGJsX25hendhKSxuY2hhcihwYmxfbmF6d2EpKSE9c3Vic3RyKFRXX05BWldJU0tPLDEsMSksTkEsYXMuaW50ZWdlcihwYmxfaWQpKSkgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxEWl9EWklBTF9JRCkNCg0KY291bnQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShwb2RtaW90b3dhX3JlZGFrdG9yenkkWkFfVVdBR0kpKQ0KcG9kbWlvdG93YV9yZWRha3Rvcnp5IDwtIG1lcmdlKHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSxjb3VudCxieS54ID0gIlpBX1VXQUdJIixieS55ID0gIlZhcjEiKSAlPiUNCiAgbXV0YXRlKGRsdWdvc2MgPSBuY2hhcih1a2Rfb2dvbG5lKSkgJT4lDQogIGFycmFuZ2UoLUZyZXEsWkFfVVdBR0ksLWRsdWdvc2MscGJsX2lkKQ0KcG9kbWlvdG93YV9yZWRha3Rvcnp5JHNhbWUgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKHBvZG1pb3Rvd2FfcmVkYWt0b3J6eVsxXSkpDQpkb19wb2RtaW90b3dlajQgPC0gcG9kbWlvdG93YV9yZWRha3Rvcnp5WyFkdXBsaWNhdGVkKHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSRzYW1lKSxdICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEpICU+JQ0KICByZW5hbWUoRFpfTkFaV0EgPSBwYmxfbmF6d2EpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksVFdfVFdPUkNBX0lELFRXX05BWldJU0tPLFRXX0lNSUUsRFpfRFpJQUxfSUQsRFpfTkFaV0EscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgbXV0YXRlKFJaX1JPRFpBSl9JRCA9IDEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdHfDs3JjeSAocG9kbWlvdG93YSkiKQ0KDQojIyNwcnp5cGlzYW5pZSBhdXRvcsOzdyBwb2RtaW90b3dlaiBkbyBsaXRlcmF0dXIgaSBwcnp5cGlzYW5pZSBkbyByZWRha3RvcsOzdyBuYSBwb2RzdGF3aWUgbGl0ZXJhdHVyeSB6IHBvbGEgNjU1IGkgdHdvcnplbmllIG5vd3ljaCB0d8OzcmPDs3cgbmEgcG9kc3Rhd2llIHBvbGEgMTAwDQpwb2RtaW90b3dhX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWoxJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWoyJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWozJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fcG9kbWlvdG93ZWo0JFpBX1VXQUdJKQ0KDQojNjU1DQptYXJjX2ZpZWxkXzY1NSA8LSBwb2RtaW90b3dhX3JlZGFrdG9yenkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjU1KSU+JQ0KICBmaWx0ZXIoWDY1NSE9IiIpICU+JQ0KICBtdXRhdGUoWDY1NT1zdHJfcmVwbGFjZV9hbGwoWDY1NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNjU1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg2NTUhPSIiKSAlPiUNCiAgbXV0YXRlKFg2NTU9c3RyX3JlbW92ZV9hbGwoWDY1NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNjU1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSRYNjU1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNjU1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzY1NTwtY2JpbmQobWFyY19maWVsZF82NTUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF82NTUkWDY1NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzY1NSRYNjU1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzY1NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzY1NSRYNjU1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF82NTUkWDY1NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBtYXJjX2ZpZWxkXzY1NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWApICU+JQ0KICB1bmlxdWUoKQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1hcmNfZmllbGRfNjU1IGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gUEJMX2hhc2xhX29zb2Jvd2UgYiBvbiBhLmAkYWAgbGlrZSAoJyUnfHxiLm5hendhfHwnJScpIikNCg0KIyMjZG9kYXdhbmllIG5hemV3bmljdHcgbm93eWNoIHR3w7NyY8Ozdw0KIzEwMA0KbWFyY19maWVsZF8xMDAgPC0gcG9kbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDEwMCklPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlcGxhY2VfYWxsKFgxMDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDEwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZW1vdmVfYWxsKFgxMDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChwb2RtaW90b3dhX3JlZGFrdG9yenkkWDEwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzEwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8xMDA8LWNiaW5kKG1hcmNfZmllbGRfMTAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMTAwJFgxMDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8xMDAkWDEwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8xMDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8xMDAkWDEwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMTAwJFgxMDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF8xMDAgPC0gbWFyY19maWVsZF8xMDAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIoPzw9W2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIpKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHBhc3RlKGAkYWAsY29sbGFwc2UgPSAifCIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKFRXX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCBzdHJfcmVwbGFjZV9hbGwoc3RyX3JlbW92ZV9hbGwoYCRhYCwiLCIpLCJcXHwiLCIsICIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIsIixgJGFgKSxzdHJfcmVwbGFjZV9hbGwoYCRhYCwiKC4qPykoLCApKC4qKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihgJGFgKSkpLA0KICAgICAgICAgVFdfSU1JRSA9IGlmZWxzZShncmVwbCgiXFx8IixgJGFgKSwiKiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiLCIsYCRhYCksc3RyX3JlcGxhY2VfYWxsKGAkYWAsIiguKj8pKCwgKSguKikiLCJcXDMiKSwiKiIpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxUV19OQVpXSVNLTyxUV19JTUlFKQ0KI2pvaW4gbmEgcG9kc3Rhd2llIGlkZW50eWN6bmVnbyBpZA0KbWFyY19maWVsZF82NTUgPC0gbWFyY19maWVsZF82NTUgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMTAwLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoRFpfRFpJQUxfSUQgPSBpZmVsc2UobmF6d2E9PSJwb2xzayImc3Vic3RyKERaX05BWldBLG5jaGFyKERaX05BWldBKSxuY2hhcihEWl9OQVpXQSkpIT1zdWJzdHIoVFdfTkFaV0lTS08sMSwxKSxOQSxhcy5pbnRlZ2VyKERaX0RaSUFMX0lEKSkpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksRFpfRFpJQUxfSUQpDQogICAgDQptYXJjX2ZpZWxkXzY1NSRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1NVsxXSkpDQpkb19wb2RtaW90b3dlajUgPC0gbWFyY19maWVsZF82NTVbIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTUkc2FtZSksXSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLERaX0RaSUFMX0lELERaX05BWldBLFRXX05BWldJU0tPLFRXX0lNSUUscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHR3w7NyY3kgKHBvZG1pb3Rvd2EpIikgJT4lDQogIHNlbGVjdChuYW1lcyhtYXJjX2ZpZWxkXzYwMCkpDQoNCiMjI3ByenlwaXNhbmllIGF1dG9yw7N3IHBvZG1pb3Rvd2VqIGRvIGxpdGVyYXR1ciBpIHByenlwaXNhbmllIGRvIHJlZGFrdG9yw7N3IG5hIHBvZHN0YXdpZSBsaXRlcmF0dXJ5IHogcG9sYSA2NTUgaSB0d29yemVuaWUgbm93eWNoIHR3w7NyY8OzdyBuYSBwb2RzdGF3aWUgcG9sYSAxMDANCnBvZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajEkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajIkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajMkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajQkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajUkWkFfVVdBR0kpDQoNCiM2NTANCm1hcmNfZmllbGRfNjUwIDwtIHBvZG1pb3Rvd2FfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2NTApJT4lDQogIGZpbHRlcihYNjUwIT0iIikgJT4lDQogIG11dGF0ZShYNjUwPXN0cl9yZXBsYWNlX2FsbChYNjUwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2NTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDY1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDY1MD1zdHJfcmVtb3ZlX2FsbChYNjUwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2NTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwocG9kbWlvdG93YV9yZWRha3Rvcnp5JFg2NTAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF82NTApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNjUwPC1jYmluZChtYXJjX2ZpZWxkXzY1MCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzY1MCRYNjUwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNjUwJFg2NTAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNjUwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNjUwJFg2NTApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzY1MCRYNjUwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm1hcmNfZmllbGRfNjUwIDwtIG1hcmNfZmllbGRfNjUwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCkgJT4lDQogIHVuaXF1ZSgpDQoNCm1hcmNfZmllbGRfNjUwIDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gbWFyY19maWVsZF82NTAgYQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBQQkxfaGFzbGFfb3NvYm93ZSBiIG9uIGEuYCRhYCBsaWtlICgnJSd8fGIubmF6d2F8fCclJykiKSAgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMTAwLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoRFpfRFpJQUxfSUQgPSBpZmVsc2UobmF6d2E9PSJwb2xzayImc3Vic3RyKERaX05BWldBLG5jaGFyKERaX05BWldBKSxuY2hhcihEWl9OQVpXQSkpIT1zdWJzdHIoVFdfTkFaV0lTS08sMSwxKSxOQSxhcy5pbnRlZ2VyKERaX0RaSUFMX0lEKSkpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksRFpfRFpJQUxfSUQpDQoNCm1hcmNfZmllbGRfNjUwJHNhbWUgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKG1hcmNfZmllbGRfNjUwWzFdKSkNCmRvX3BvZG1pb3Rvd2VqNiA8LSBtYXJjX2ZpZWxkXzY1MFshZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1MCRzYW1lKSxdICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksRFpfRFpJQUxfSUQsRFpfTkFaV0EsVFdfTkFaV0lTS08sVFdfSU1JRSxyZWRha3Rvcl9kemlhbHUpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdHfDs3JjeSAocG9kbWlvdG93YSkiKSAlPiUNCiAgc2VsZWN0KG5hbWVzKG1hcmNfZmllbGRfNjAwKSkNCiNjbyB6b3N0YcWCbyBkbyBwb2RtaW90b3dlaj8NCnBvZG1pb3Rvd2FfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icG9kbWlvdG93YSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajEkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajIkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajMkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajQkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajUkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19wb2RtaW90b3dlajYkWkFfVVdBR0kpDQojbmFkZGF0ZWsgcHJ6eXBpc2HEhyBNYXJjaWUgamFrbyBwb2RtaW90b3fEhSBiZXogdHfDs3Jjw7N3IGkgY3p5X2F1dG9tYXR5Y3puaWUgPC0gbmllDQpkb19wb2RtaW90b3dlajcgPC0gcG9kbWlvdG93YV9yZWRha3Rvcnp5ICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BLA0KICAgICAgICAgRFpfRFpJQUxfSUQgPSBOQSwNCiAgICAgICAgIERaX05BWldBID0gTkEsDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHR3w7NyY3kgKHBvZG1pb3Rvd2EpIiwNCiAgICAgICAgIHJlZGFrdG9yX2R6aWFsdSA9ICJNQVJUQUt4IikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19wb2RtaW90b3dlajUpKQ0KI3RyemViYSB6YWt0dWFsaXpvd2HEhyB3IGJuX29rLCDFvGUgdGVyYXogdG8gbmllIHPEhSBhdXRvbWF0eWN6bmUNCmxpc3RhX2RvX3ByemVwaXNhbmlhIDwtIGRvX3BvZG1pb3Rvd2VqNyRaQV9VV0FHSQ0KYm5fb2skY3p5X2F1dG9tYXR5Y3puaWVbYm5fb2skWkFfVVdBR0kgJWluJSBsaXN0YV9kb19wcnplcGlzYW5pYV0gPC0gIm5pZSINCiNwb8WCxIVjemVuaWUgcHJ6eWR6aWHFgnUgcG9kbWlvdG93eWNoIHcgamVkZW4gcGxpaw0KZG9fcG9kbWlvdG93ZWogPC0gcmJpbmQoZG9fcG9kbWlvdG93ZWoxLGRvX3BvZG1pb3Rvd2VqMixkb19wb2RtaW90b3dlajMsZG9fcG9kbWlvdG93ZWo0LGRvX3BvZG1pb3Rvd2VqNSxkb19wb2RtaW90b3dlajYsZG9fcG9kbWlvdG93ZWo3KQ0KDQojcHJ6eXBpc2FuaWUgYW50b2xvZ2lpIGRvIFRvbWthIGkgZG8gbGl0ZXJhdHVyIG5hIHBvZHN0YXdpZSAwODANCmFudG9sb2dpZV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2kgPT0gImFudG9sb2dpYSIpDQpQQkxfZHppYWx5X2FudG9sb2dpZSA8LSBQQkxfZHppYWx5X3BhdGggJT4lDQogIGZpbHRlcihncmVwbCgiYW50b2xvZyIsRFpfTkFaV0EsaWdub3JlLmNhc2UgPSBUUlVFKSkgJT4lDQogIGxlZnRfam9pbiguLHJlZGFrdG9yenlfZHppYWxvdyxieT0iRFpfRFpJQUxfSUQiKSAlPiUNCiAgc2VsZWN0KERaX0RaSUFMX0lELERaX05BWldBPURaX05BWldBLngscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgbXV0YXRlKHJlZGFrdG9yX2R6aWFsdSA9IGlmZWxzZShpcy5uYShyZWRha3Rvcl9kemlhbHUpLCJUT01BU1oiLGFzLmNoYXJhY3RlcihyZWRha3Rvcl9kemlhbHUpKSkNCg0KUEJMX2R6aWFseV9hbnRvbG9naWUgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBQQkxfZHppYWx5X2FudG9sb2dpZSBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIChzZWxlY3QgYy51a2Rfb2dvbG5lLGMubmF6d2FfcHJvc3RhLGMucGJsX2lkLGMucGJsX25hendhLGMucGJsX2lkX2xpdGVyYXR1cnksYy5wYmxfbGl0ZXJhdHVyYSBmcm9tIEJOX1BCTF9saXN0YV9saXRlcmF0dXIgYykgYiBvbiBhLkRaX05BWldBIGxpa2UgKCclJ3x8Yi5uYXp3YV9wcm9zdGF8fCclJykiKSAlPiUNCiAgbXV0YXRlKHVrZF9vZ29sbmUgPSBpZmVsc2UoRFpfRFpJQUxfSUQ9PTE0NiwiODIxLjE2Mi4xIixhcy5jaGFyYWN0ZXIodWtkX29nb2xuZSkpLA0KICAgICAgICAgbmF6d2FfcHJvc3RhID0gaWZlbHNlKERaX0RaSUFMX0lEPT0xNDYsInBvbHNrIixhcy5jaGFyYWN0ZXIobmF6d2FfcHJvc3RhKSkpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKHVrZF9vZ29sbmUpKSAlPiUNCiAgZmlsdGVyKERaX0RaSUFMX0lEIT03NDQpICU+JQ0KICBzZWxlY3QoMTo1KSANCg0KYW50b2xvZ2llX3JlZGFrdG9yenkgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBhbnRvbG9naWVfcmVkYWt0b3J6eSBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbiBQQkxfZHppYWx5X2FudG9sb2dpZSBiIG9uIGEuWDA4MCBsaWtlICgnJSd8fGIudWtkX29nb2xuZXx8JyUnKSIpDQoNCmNvdW50IDwtIGFzLmRhdGEuZnJhbWUodGFibGUoYW50b2xvZ2llX3JlZGFrdG9yenkkWkFfVVdBR0kpKQ0KYW50b2xvZ2llX3JlZGFrdG9yenkgPC0gbWVyZ2UoYW50b2xvZ2llX3JlZGFrdG9yenksY291bnQsYnkueCA9ICJaQV9VV0FHSSIsYnkueSA9ICJWYXIxIikgJT4lDQogIG11dGF0ZShkbHVnb3NjID0gbmNoYXIodWtkX29nb2xuZSkpICU+JQ0KICBhcnJhbmdlKC1GcmVxLFpBX1VXQUdJLC1kbHVnb3NjLERaX0RaSUFMX0lEKQ0KYW50b2xvZ2llX3JlZGFrdG9yenkkc2FtZSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoYW50b2xvZ2llX3JlZGFrdG9yenlbMV0pKQ0KZG9fYW50b2xvZ2lpMSA8LSBhbnRvbG9naWVfcmVkYWt0b3J6eVshZHVwbGljYXRlZChhbnRvbG9naWVfcmVkYWt0b3J6eSRzYW1lKSxdICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFRXX1RXT1JDQV9JRCxUV19OQVpXSVNLTyxUV19JTUlFLERaX0RaSUFMX0lELERaX05BWldBLHJlZGFrdG9yX2R6aWFsdSkgJT4lDQogIG11dGF0ZShSWl9ST0RaQUpfSUQgPSAyMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB3IGhhxZtsZSByemVjem93eW0iKQ0KI3ByenlwaXNhbmllIGFudG9sb2dpaSBkbyBUb21rYSBpIGRvIGxpdGVyYXR1ciBuYSBwb2RzdGF3aWUgNjY1DQphbnRvbG9naWVfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpID09ICJhbnRvbG9naWEiKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fYW50b2xvZ2lpMSRaQV9VV0FHSSkNCg0KbWFyY19maWVsZF82NTUgPC0gYW50b2xvZ2llX3JlZGFrdG9yenkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjU1KSU+JQ0KICBmaWx0ZXIoWDY1NSE9IiIpICU+JQ0KICBtdXRhdGUoWDY1NT1zdHJfcmVwbGFjZV9hbGwoWDY1NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNjU1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg2NTUhPSIiKSAlPiUNCiAgbXV0YXRlKFg2NTU9c3RyX3JlbW92ZV9hbGwoWDY1NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNjU1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGFudG9sb2dpZV9yZWRha3Rvcnp5JFg2NTUsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF82NTUpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNjU1PC1jYmluZChtYXJjX2ZpZWxkXzY1NSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzY1NSRYNjU1IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNjU1JFg2NTUsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNjU1WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNjU1JFg2NTUpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzY1NSRYNjU1KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm1hcmNfZmllbGRfNjU1IDwtIG1hcmNfZmllbGRfNjU1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCkgJT4lDQogIHVuaXF1ZSgpDQoNCm1hcmNfZmllbGRfNjU1IDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gbWFyY19maWVsZF82NTUgYQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBQQkxfZHppYWx5X2FudG9sb2dpZSBiIG9uIGEuYCRhYCBsaWtlICgnJSd8fGIubmF6d2FfcHJvc3RhfHwnJScpIikgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxEWl9EWklBTF9JRCkNCg0KbWFyY19maWVsZF82NTUkc2FtZSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTVbMV0pKQ0KZG9fYW50b2xvZ2lpMiA8LSBtYXJjX2ZpZWxkXzY1NVshZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1NSRzYW1lKSxdICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksRFpfRFpJQUxfSUQsRFpfTkFaV0EscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBtdXRhdGUoVFdfVFdPUkNBX0lEID0gTkEsDQogICAgICAgICBUV19OQVpXSVNLTyA9IE5BLA0KICAgICAgICAgVFdfSU1JRSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMjEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdyBoYcWbbGUgcnplY3pvd3ltIikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19hbnRvbG9naWkxKSkNCiNwcnp5cGlzYW5pZSBhbnRvbG9naWkgZG8gVG9ta2EgaSBkbyBsaXRlcmF0dXIgbmEgcG9kc3Rhd2llIDY2NQ0KYW50b2xvZ2llX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraSA9PSAiYW50b2xvZ2lhIikgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX2FudG9sb2dpaTEkWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19hbnRvbG9naWkyJFpBX1VXQUdJKQ0KDQptYXJjX2ZpZWxkXzY1MCA8LSBhbnRvbG9naWVfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2NTApJT4lDQogIGZpbHRlcihYNjUwIT0iIikgJT4lDQogIG11dGF0ZShYNjUwPXN0cl9yZXBsYWNlX2FsbChYNjUwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2NTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDY1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDY1MD1zdHJfcmVtb3ZlX2FsbChYNjUwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2NTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoYW50b2xvZ2llX3JlZGFrdG9yenkkWDY1MCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzY1MClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82NTA8LWNiaW5kKG1hcmNfZmllbGRfNjUwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjUwJFg2NTAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82NTAkWDY1MCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF82NTBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF82NTAkWDY1MCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNjUwJFg2NTApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF82NTAgPC0gbWFyY19maWVsZF82NTAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgKSAlPiUNCiAgdW5pcXVlKCkNCg0KbWFyY19maWVsZF82NTAgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtYXJjX2ZpZWxkXzY1MCBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIFBCTF9kemlhbHlfYW50b2xvZ2llIGIgb24gYS5gJGFgIGxpa2UgKCclJ3x8Yi5uYXp3YV9wcm9zdGF8fCclJykiKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLERaX0RaSUFMX0lEKQ0KDQptYXJjX2ZpZWxkXzY1MCRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1MFsxXSkpDQpkb19hbnRvbG9naWkzIDwtIG1hcmNfZmllbGRfNjUwWyFkdXBsaWNhdGVkKG1hcmNfZmllbGRfNjUwJHNhbWUpLF0gJT4lDQogIHNlbGVjdChaQV9VV0FHSSxEWl9EWklBTF9JRCxEWl9OQVpXQSxyZWRha3Rvcl9kemlhbHUpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gTkEsDQogICAgICAgICBUV19JTUlFID0gTkEsDQogICAgICAgICBSWl9ST0RaQUpfSUQgPSAyMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB3IGhhxZtsZSByemVjem93eW0iKSAlPiUNCiAgc2VsZWN0KG5hbWVzKGRvX2FudG9sb2dpaTEpKQ0KI3Jlc3p0YSBhbnRvbG9naWkgYmV6IGR6aWHFgnUgcG8gcHJvc3R1IHByenlwaXNhbmEgZG8gVG9ta2ENCmFudG9sb2dpZV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2kgPT0gImFudG9sb2dpYSIpICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb19hbnRvbG9naWkxJFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fYW50b2xvZ2lpMiRaQV9VV0FHSSkgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX2FudG9sb2dpaTMkWkFfVVdBR0kpDQoNCmRvX2FudG9sb2dpaTQgPC0gYW50b2xvZ2llX3JlZGFrdG9yenkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gTkEsDQogICAgICAgICBUV19JTUlFID0gTkEsDQogICAgICAgICBEWl9EWklBTF9JRCA9IE5BLA0KICAgICAgICAgRFpfTkFaV0EgPSBOQSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDIxLA0KICAgICAgICAgUlpfTkFaV0EgPSAia3NpxIXFvGthIHcgaGHFm2xlIHJ6ZWN6b3d5bSIsDQogICAgICAgICByZWRha3Rvcl9kemlhbHUgPSAiVE9NQVNaIikgJT4lDQogIHNlbGVjdChuYW1lcyhkb19hbnRvbG9naWkxKSkNCg0KZG9fYW50b2xvZ2lpIDwtIHJiaW5kKGRvX2FudG9sb2dpaTEsZG9fYW50b2xvZ2lpMixkb19hbnRvbG9naWkzLGRvX2FudG9sb2dpaTQpDQojIyNwcnp5cGlzYW5pZSByZWRha3RvcmEgZG8gd3Nww7PFgnd5ZGHFhCBuYSBwb2RzdGF3aWUgb3NvYnkgeiAyNDUgamFrbyB0d8OzcmN5IChhdXRvcmEpICh0YWJlbGEgcGJsLWJuLXZpYWYpLSBrc2nEhcW8a2kgdHfDs3JjeQ0Kd3Nwb2x3eWRhbmllX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09IndzcMOzxYJ3eWRhbmllIikNCg0KZG9fd3Nwb2x3eWRhbmlhMSA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUgDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSAlPiUgDQogIG11dGF0ZShYMjQ1ID0gc3RyX2V4dHJhY3QoWDI0NSwgIig/PD1cXC9cXCRjKSguKj8pKD89IDt8JCkiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcLiQiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcWyIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFxdIiksDQogICAgICAgICBuYXp3aXNrbyA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSxhcy5jaGFyYWN0ZXIoWDI0NSksc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwzIikpLA0KICAgICAgICAgaW1pZSA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSwiKiIsc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwxIikpLA0KICAgICAgICAgbmFtZSA9IHBhc3RlKG5hendpc2tvLGltaWUsc2VwID0gIiwgIikpICU+JQ0KICBpbm5lcl9qb2luKC4scGJsX3ZpYWYsYnkgPSBjKCJuYW1lIiA9ICJCTl9uYW1lIikpICU+JQ0KICBsZWZ0X2pvaW4oLixQQkxfdHdvcmN5LGJ5ID0gYygicGJsX2lkIj0iVFdfVFdPUkNBX0lEIikpICU+JQ0KICBsZWZ0X2pvaW4oLixyZWRha3Rvcnp5X2R6aWFsb3csYnkgPSBjKCJUV19EWl9EWklBTF9JRCI9IkRaX0RaSUFMX0lEIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksVFdfVFdPUkNBX0lEPXBibF9pZCxUV19OQVpXSVNLTyxUV19JTUlFLERaX0RaSUFMX0lEPVRXX0RaX0RaSUFMX0lELERaX05BWldBPURaX05BWldBLngscmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgbXV0YXRlKFJaX1JPRFpBSl9JRCA9IDEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdHfDs3JjeSAocG9kbWlvdG93YSkiKSAlPiUNCiAgdW5pcXVlKCkNCiMjI3ByenlwaXNhbmllIHJlZGFrdG9yYSBuYSBwb2RzdGF3aWUgemJpZcW8bm/Fm2NpIGZyYXogbmF6ZXduaWN0d2Egb3NvYnkgeiAyNDUgeiB0d8OzcmPEhSBwYmwgKGRsYSB0eWNoLCBrdMOzcmUgbmllIHpvc3RhxYJ5IHptYXBvd2FuZSBuYSBsaW5paSBwYmwtYm4pIC0ga3NpxIXFvGtpIHR3w7NyY3kNCndzcG9sd3lkYW5pZV9yZWRha3Rvcnp5IDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJ3c3DDs8WCd3lkYW5pZSIpICU+JSANCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fd3Nwb2x3eWRhbmlhMSRaQV9VV0FHSSkNCg0KZG9fd3Nwb2x3eWRhbmlhMiA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUgDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSAlPiUgDQogIG11dGF0ZShYMjQ1ID0gc3RyX2V4dHJhY3QoWDI0NSwgIig/PD1cXC9cXCRjKSguKj8pKD89IDt8JCkiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcLiQiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcWyIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFxdIiksDQogICAgICAgICBuYXp3aXNrbyA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSxhcy5jaGFyYWN0ZXIoWDI0NSksc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwzIikpLA0KICAgICAgICAgaW1pZSA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSwiKiIsc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwxIikpLA0KICAgICAgICAgbmFtZSA9IHBhc3RlKG5hendpc2tvLGltaWUsc2VwID0gIiwgIiksDQogICAgICAgICBuYXp3YSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfdG9fbG93ZXIobmFtZSksICJcXFciLCAiIikpICU+JSANCiAgaW5uZXJfam9pbiguLFBCTF90d29yY3lfcG9kbSAlPiUgc2VsZWN0KFRXX1RXT1JDQV9JRCxUV19OQVpXSVNLTyxUV19JTUlFLERaX0RaSUFMX0lEPVRXX0RaX0RaSUFMX0lELERaX05BWldBLG5hendhKSxieT0ibmF6d2EiKQ0KZG9fd3Nwb2x3eWRhbmlhMiRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChkb193c3BvbHd5ZGFuaWEyWzE6NF0pKQ0KZG9fd3Nwb2x3eWRhbmlhMiA8LSBkb193c3BvbHd5ZGFuaWEyICU+JSANCiAgYXJyYW5nZShaQV9VV0FHSSxuYXp3aXNrbyxpbWllLG5hendhLFRXX1RXT1JDQV9JRCkNCmRvX3dzcG9sd3lkYW5pYTIgPC0gZG9fd3Nwb2x3eWRhbmlhMlshZHVwbGljYXRlZChkb193c3BvbHd5ZGFuaWEyJHNhbWUpLF0gJT4lIA0KICBtdXRhdGUoRFpfRFpJQUxfSUQgPSBhcy5pbnRlZ2VyKERaX0RaSUFMX0lEKSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdHfDs3JjeSAocG9kbWlvdG93YSkiKSAlPiUgDQogIGlubmVyX2pvaW4oLixyZWRha3Rvcnp5X2R6aWFsb3cgJT4lIHNlbGVjdChEWl9EWklBTF9JRCxyZWRha3Rvcl9kemlhbHUpLGJ5PSJEWl9EWklBTF9JRCIpICU+JSANCiAgc2VsZWN0KG5hbWVzKGRvX3dzcG9sd3lkYW5pYTEpKQ0KIyMjcHJ6eXBpc2FuaWUgYXV0b3LDs3cgcG9kbWlvdG93ZWogZG8gbGl0ZXJhdHVyIGkgcHJ6eXBpc2FuaWUgZG8gcmVkYWt0b3LDs3cgbmEgcG9kc3Rhd2llIGtvZHUgbGl0ZXJhdHVyeSB6IHBvbGEgWDA4MCBpIHR3b3J6ZW5pZSBub3d5Y2ggdHfDs3Jjw7N3IG5hIHBvZHN0YXdpZSBwb2xhIDI0NQ0Kd3Nwb2x3eWRhbmllX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09IndzcMOzxYJ3eWRhbmllIikgJT4lIA0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb193c3BvbHd5ZGFuaWExJFpBX1VXQUdJKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3dzcG9sd3lkYW5pYTIkWkFfVVdBR0kpDQoNCndzcG9sd3lkYW5pZV9yZWRha3Rvcnp5IDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gd3Nwb2x3eWRhbmllX3JlZGFrdG9yenkgYQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW4gQk5fUEJMX2xpc3RhX2xpdGVyYXR1ciBiIG9uIGEuWDA4MCBsaWtlICgnJSd8fGIudWtkX29nb2xuZXx8JyUnKSIpDQpkb193c3BvbHd5ZGFuaWEzIDwtIHdzcG9sd3lkYW5pZV9yZWRha3Rvcnp5ICU+JSANCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDUscGJsX2lkLHBibF9uYXp3YSxyZWRha3Rvcl9kemlhbHUscGJsX2lkX2xpdGVyYXR1cnkscGJsX2xpdGVyYXR1cmEsbmF6d2FfcHJvc3RhLHVrZF9vZ29sbmUpICU+JSANCiAgbXV0YXRlKFgyNDUgPSBzdHJfZXh0cmFjdChYMjQ1LCAiKD88PVxcL1xcJGMpKC4qPykoPz0gO3wkKSIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFwuJCIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFxbIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCJcXF0iKSwNCiAgICAgICAgIG5hendpc2tvID0gaWZlbHNlKGdyZXBsKCIgW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5cXC5dKiAiLFgyNDUpLGFzLmNoYXJhY3RlcihYMjQ1KSxzdHJfcmVwbGFjZShYMjQ1LCIoXi4qPykoICkoPyEuKiApKC4qJCkiLCJcXDMiKSksDQogICAgICAgICBpbWllID0gaWZlbHNlKGdyZXBsKCIgW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5cXC5dKiAiLFgyNDUpLCIqIixzdHJfcmVwbGFjZShYMjQ1LCIoXi4qPykoICkoPyEuKiApKC4qJCkiLCJcXDEiKSksDQogICAgICAgICBuYW1lID0gcGFzdGUobmF6d2lza28saW1pZSxzZXAgPSAiLCAiKSkgJT4lDQogIG11dGF0ZShwYmxfbmF6d2EgPSBhcy5jaGFyYWN0ZXIocGJsX25hendhKSkgJT4lDQogIG11dGF0ZShEWl9EWklBTF9JRCA9IGlmZWxzZShuYXp3YV9wcm9zdGE9PSJwb2xzayImc3Vic3RyKHBibF9uYXp3YSxuY2hhcihwYmxfbmF6d2EpLG5jaGFyKHBibF9uYXp3YSkpIT1zdWJzdHIobmF6d2lza28sMSwxKSxOQSxhcy5pbnRlZ2VyKHBibF9pZCkpKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShEWl9EWklBTF9JRCkpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLERaX0RaSUFMX0lEKQ0KY291bnQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShkb193c3BvbHd5ZGFuaWEzJFpBX1VXQUdJKSkNCmRvX3dzcG9sd3lkYW5pYTMgPC0gbWVyZ2UoZG9fd3Nwb2x3eWRhbmlhMyxjb3VudCxieS54ID0gIlpBX1VXQUdJIixieS55ID0gIlZhcjEiKSAlPiUNCiAgbXV0YXRlKGRsdWdvc2MgPSBuY2hhcih1a2Rfb2dvbG5lKSkgJT4lDQogIGFycmFuZ2UoLUZyZXEsWkFfVVdBR0ksLWRsdWdvc2MscGJsX2lkKQ0KZG9fd3Nwb2x3eWRhbmlhMyRzYW1lIDwtIGN1bXN1bSghZHVwbGljYXRlZChkb193c3BvbHd5ZGFuaWEzWzFdKSkNCmRvX3dzcG9sd3lkYW5pYTMgPC0gZG9fd3Nwb2x3eWRhbmlhM1shZHVwbGljYXRlZChkb193c3BvbHd5ZGFuaWEzJHNhbWUpLF0gJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSkgJT4lDQogIHJlbmFtZShEWl9OQVpXQSA9IHBibF9uYXp3YSwNCiAgICAgICAgIFRXX05BWldJU0tPID0gbmF6d2lza28sDQogICAgICAgICBUV19JTUlFID0gaW1pZSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxUV19UV09SQ0FfSUQsVFdfTkFaV0lTS08sVFdfSU1JRSxEWl9EWklBTF9JRCxEWl9OQVpXQSxyZWRha3Rvcl9kemlhbHUpICU+JQ0KICBtdXRhdGUoUlpfUk9EWkFKX0lEID0gMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB0d8OzcmN5IChwb2RtaW90b3dhKSIpDQojIyNwcnp5cGlzYW5pZSBhdXRvcsOzdyBwb2RtaW90b3dlaiBkbyBsaXRlcmF0dXIgaSBwcnp5cGlzYW5pZSBkbyByZWRha3RvcsOzdyBuYSBwb2RzdGF3aWUgbGl0ZXJhdHVyeSB6IHBvbGEgNjU1IGkgdHdvcnplbmllIG5vd3ljaCB0d8OzcmPDs3cgbmEgcG9kc3Rhd2llIHBvbGEgMjQ1DQp3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0id3Nww7PFgnd5ZGFuaWUiKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3dzcG9sd3lkYW5pYTEkWkFfVVdBR0kpICU+JSANCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fd3Nwb2x3eWRhbmlhMiRaQV9VV0FHSSkgJT4lIA0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb193c3BvbHd5ZGFuaWEzJFpBX1VXQUdJKQ0KDQojNjU1DQptYXJjX2ZpZWxkXzY1NSA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2NTUpJT4lDQogIGZpbHRlcihYNjU1IT0iIikgJT4lDQogIG11dGF0ZShYNjU1PXN0cl9yZXBsYWNlX2FsbChYNjU1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2NTUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDY1NSE9IiIpICU+JQ0KICBtdXRhdGUoWDY1NT1zdHJfcmVtb3ZlX2FsbChYNjU1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2NTUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwod3Nwb2x3eWRhbmllX3JlZGFrdG9yenkkWDY1NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzY1NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82NTU8LWNiaW5kKG1hcmNfZmllbGRfNjU1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjU1JFg2NTUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82NTUkWDY1NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KaWYgKG5yb3cobWFyY19maWVsZF82NTUpPjApIHsNCiAgDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzY1NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzY1NSRYNjU1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF82NTUkWDY1NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBtYXJjX2ZpZWxkXzY1NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWApICU+JQ0KICB1bmlxdWUoKQ0KDQptYXJjX2ZpZWxkXzY1NSA8LSBzcWxkZigic2VsZWN0ICoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIG1hcmNfZmllbGRfNjU1IGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gUEJMX2hhc2xhX29zb2Jvd2UgYiBvbiBhLmAkYWAgbGlrZSAoJyUnfHxiLm5hendhfHwnJScpIikNCg0KIyMjZG9kYXdhbmllIG5hemV3bmljdHcgbm93eWNoIHR3w7NyY8OzdyBuYSBwb2RzdGF3aWUgMjQ1DQptYXJjX2ZpZWxkXzI0NSA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUgDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSAlPiUgDQogIG11dGF0ZShYMjQ1ID0gc3RyX2V4dHJhY3QoWDI0NSwgIig/PD1cXC9cXCRjKSguKj8pKD89IDt8JCkiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcLiQiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcWyIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFxdIiksDQogICAgICAgICBuYXp3aXNrbyA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSxhcy5jaGFyYWN0ZXIoWDI0NSksc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwzIikpLA0KICAgICAgICAgaW1pZSA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSwiKiIsc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwxIikpLA0KICAgICAgICAgbmFtZSA9IHBhc3RlKG5hendpc2tvLGltaWUsc2VwID0gIiwgIikpDQojam9pbiBuYSBwb2RzdGF3aWUgaWRlbnR5Y3puZWdvIGlkDQptYXJjX2ZpZWxkXzY1NSA8LSBtYXJjX2ZpZWxkXzY1NSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShEWl9EWklBTF9JRCA9IGlmZWxzZShuYXp3YT09InBvbHNrIiZzdWJzdHIoRFpfTkFaV0EsbmNoYXIoRFpfTkFaV0EpLG5jaGFyKERaX05BWldBKSkhPXN1YnN0cihuYXp3aXNrbywxLDEpLE5BLGFzLmludGVnZXIoRFpfRFpJQUxfSUQpKSkgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxEWl9EWklBTF9JRCkNCm1hcmNfZmllbGRfNjU1JHNhbWUgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKG1hcmNfZmllbGRfNjU1WzFdKSkNCmRvX3dzcG9sd3lkYW5pYTQgPC0gbWFyY19maWVsZF82NTVbIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTUkc2FtZSksXSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLERaX0RaSUFMX0lELERaX05BWldBLFRXX05BWldJU0tPPW5hendpc2tvLFRXX0lNSUU9aW1pZSxyZWRha3Rvcl9kemlhbHUpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKERaX0RaSUFMX0lEKSkgJT4lDQogIG11dGF0ZShUV19UV09SQ0FfSUQgPSBOQSwNCiAgICAgICAgIFJaX1JPRFpBSl9JRCA9IDEsDQogICAgICAgICBSWl9OQVpXQSA9ICJrc2nEhcW8a2EgdHfDs3JjeSAocG9kbWlvdG93YSkiKSAlPiUNCiAgc2VsZWN0KG5hbWVzKGRvX3dzcG9sd3lkYW5pYTMpKQ0KfSBlbHNlIHsNCiAgbWFyY19maWVsZF8yNDUgPC0gd3Nwb2x3eWRhbmllX3JlZGFrdG9yenkgJT4lIA0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSkgJT4lIA0KICBtdXRhdGUoWDI0NSA9IHN0cl9leHRyYWN0KFgyNDUsICIoPzw9XFwvXFwkYykoLio/KSg/PSA7fCQpIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCJcXC4kIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCJcXFsiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcXSIpLA0KICAgICAgICAgbmF6d2lza28gPSBpZmVsc2UoZ3JlcGwoIiBbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvlxcLl0qICIsWDI0NSksYXMuY2hhcmFjdGVyKFgyNDUpLHN0cl9yZXBsYWNlKFgyNDUsIiheLio/KSggKSg/IS4qICkoLiokKSIsIlxcMyIpKSwNCiAgICAgICAgIGltaWUgPSBpZmVsc2UoZ3JlcGwoIiBbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvlxcLl0qICIsWDI0NSksIioiLHN0cl9yZXBsYWNlKFgyNDUsIiheLio/KSggKSg/IS4qICkoLiokKSIsIlxcMSIpKSwNCiAgICAgICAgIG5hbWUgPSBwYXN0ZShuYXp3aXNrbyxpbWllLHNlcCA9ICIsICIpKQ0KICBkb193c3BvbHd5ZGFuaWE0IDwtIGRhdGEuZnJhbWUoc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQ0KfQ0KIyMjcHJ6eXBpc2FuaWUgYXV0b3LDs3cgcG9kbWlvdG93ZWogZG8gbGl0ZXJhdHVyIGkgcHJ6eXBpc2FuaWUgZG8gcmVkYWt0b3LDs3cgbmEgcG9kc3Rhd2llIGxpdGVyYXR1cnkgeiBwb2xhIDY1MCBpIHR3b3J6ZW5pZSBub3d5Y2ggdHfDs3Jjw7N3IG5hIHBvZHN0YXdpZSBwb2xhIDI0NQ0Kd3Nwb2x3eWRhbmllX3JlZGFrdG9yenkgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09IndzcMOzxYJ3eWRhbmllIikgJT4lIA0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb193c3BvbHd5ZGFuaWExJFpBX1VXQUdJKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3dzcG9sd3lkYW5pYTIkWkFfVVdBR0kpICU+JSANCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fd3Nwb2x3eWRhbmlhMyRaQV9VV0FHSSkgJT4lIA0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb193c3BvbHd5ZGFuaWE0JFpBX1VXQUdJKQ0KDQojNjUwDQppZiAobWF4KG5jaGFyKHdzcG9sd3lkYW5pZV9yZWRha3Rvcnp5JFg2NTApKT4wKSB7DQptYXJjX2ZpZWxkXzY1MCA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg2NTApJT4lDQogIGZpbHRlcihYNjUwIT0iIikgJT4lDQogIG11dGF0ZShYNjUwPXN0cl9yZXBsYWNlX2FsbChYNjUwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg2NTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDY1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDY1MD1zdHJfcmVtb3ZlX2FsbChYNjUwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg2NTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwod3Nwb2x3eWRhbmllX3JlZGFrdG9yenkkWDY1MCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzY1MClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF82NTA8LWNiaW5kKG1hcmNfZmllbGRfNjUwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNjUwJFg2NTAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF82NTAkWDY1MCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF82NTBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF82NTAkWDY1MCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNjUwJFg2NTApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF82NTAgPC0gbWFyY19maWVsZF82NTAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgKSAlPiUNCiAgdW5pcXVlKCkNCg0KbWFyY19maWVsZF82NTAgPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBtYXJjX2ZpZWxkXzY1MCBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIFBCTF9oYXNsYV9vc29ib3dlIGIgb24gYS5gJGFgIGxpa2UgKCclJ3x8Yi5uYXp3YXx8JyUnKSIpICAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShEWl9EWklBTF9JRCA9IGlmZWxzZShuYXp3YT09InBvbHNrIiZzdWJzdHIoRFpfTkFaV0EsbmNoYXIoRFpfTkFaV0EpLG5jaGFyKERaX05BWldBKSkhPXN1YnN0cihuYXp3aXNrbywxLDEpLE5BLGFzLmludGVnZXIoRFpfRFpJQUxfSUQpKSkgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxEWl9EWklBTF9JRCkNCg0KbWFyY19maWVsZF82NTAkc2FtZSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQobWFyY19maWVsZF82NTBbMV0pKQ0KZG9fd3Nwb2x3eWRhbmlhNSA8LSBtYXJjX2ZpZWxkXzY1MFshZHVwbGljYXRlZChtYXJjX2ZpZWxkXzY1MCRzYW1lKSxdICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksRFpfRFpJQUxfSUQsRFpfTkFaV0EsVFdfTkFaV0lTS089bmF6d2lza28sVFdfSU1JRT1pbWllLHJlZGFrdG9yX2R6aWFsdSkgJT4lDQogIGZpbHRlcighaXMubmEoRFpfRFpJQUxfSUQpKSAlPiUNCiAgbXV0YXRlKFRXX1RXT1JDQV9JRCA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB0d8OzcmN5IChwb2RtaW90b3dhKSIpICU+JQ0KICBzZWxlY3QobmFtZXMoZG9fd3Nwb2x3eWRhbmlhNCkpDQp9IGVsc2Ugew0KICBkb193c3BvbHd5ZGFuaWE1IDwtIGRvX3dzcG9sd3lkYW5pYTFbMCxdDQp9DQojY28gem9zdGHFgm8gZG8gd3Nww7PFgnd5ZGFuaWE/DQp3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0id3Nww7PFgnd5ZGFuaWUiKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3dzcG9sd3lkYW5pYTEkWkFfVVdBR0kpICU+JSANCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fd3Nwb2x3eWRhbmlhMiRaQV9VV0FHSSkgJT4lIA0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSBkb193c3BvbHd5ZGFuaWEzJFpBX1VXQUdJKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIGRvX3dzcG9sd3lkYW5pYTQkWkFfVVdBR0kpICU+JSANCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgZG9fd3Nwb2x3eWRhbmlhNSRaQV9VV0FHSSkNCg0KI25hZGRhdGVrIHByenlwaXNhxIcgTWFyY2llIGpha28gcG9kbWlvdG93xIUgYmV6IHR3w7NyY8OzdyBpIGN6eV9hdXRvbWF0eWN6bmllIDwtIG5pZQ0KZG9fd3Nwb2x3eWRhbmlhNiA8LSB3c3BvbHd5ZGFuaWVfcmVkYWt0b3J6eSAlPiUNCiAgbXV0YXRlKFRXX1RXT1JDQV9JRCA9IE5BLA0KICAgICAgICAgVFdfTkFaV0lTS08gPSBOQSwNCiAgICAgICAgIFRXX0lNSUUgPSBOQSwNCiAgICAgICAgIERaX0RaSUFMX0lEID0gTkEsDQogICAgICAgICBEWl9OQVpXQSA9IE5BLA0KICAgICAgICAgUlpfUk9EWkFKX0lEID0gMSwNCiAgICAgICAgIFJaX05BWldBID0gImtzacSFxbxrYSB0d8OzcmN5IChwb2RtaW90b3dhKSIsDQogICAgICAgICByZWRha3Rvcl9kemlhbHUgPSAiTUFSVEFLeCIpICU+JQ0KICBzZWxlY3QobmFtZXMoZG9fd3Nwb2x3eWRhbmlhNSkpDQojdHJ6ZWJhIHpha3R1YWxpem93YcSHIHcgYm5fb2ssIMW8ZSB0ZXJheiB0byBuaWUgc8SFIGF1dG9tYXR5Y3puZQ0KbGlzdGFfZG9fcHJ6ZXBpc2FuaWEgPC0gZG9fd3Nwb2x3eWRhbmlhNiRaQV9VV0FHSQ0KYm5fb2skY3p5X2F1dG9tYXR5Y3puaWVbYm5fb2skWkFfVVdBR0kgJWluJSBsaXN0YV9kb19wcnplcGlzYW5pYV0gPC0gIm5pZSINCiNwb8WCxIVjemVuaWUgcHJ6eWR6aWHFgnUgd3Nww7PFgnd5ZGHFhCB3IGplZGVuIHBsaWsNCmRvX3dzcG9sd3lkYW5pYSA8LSByYmluZChkb193c3BvbHd5ZGFuaWExLGRvX3dzcG9sd3lkYW5pYTIsZG9fd3Nwb2x3eWRhbmlhMyxkb193c3BvbHd5ZGFuaWE0LGRvX3dzcG9sd3lkYW5pYTUsZG9fd3Nwb2x3eWRhbmlhNikNCg0KI3BvxYLEhWN6ZW5pZSBwcnp5ZHppYcWCw7N3IHcgamVkZW4gcGxpayAoeiB3eWtsdWN6ZW5pZW0gd3Nww7PFgnd5ZGFuaWEsIGJvIG9ubyBpZHppZSBwbyB6YV91d2FnaSkNCnJlZGFrdG9yenlfemFwaXNvdyA8LSByYmluZChkb19wb2RtaW90b3dlaixkb19wcnplZG1pb3Rvd2VqLGRvX2FudG9sb2dpaSxkb193c3BvbHd5ZGFuaWEpDQojcG/FgsSFY3plbmllIHByenlwaXNhbmlhIHplIHpiaW9yZW0NCg0KYm5fb2sgPC0gYm5fb2sgJT4lDQogIGxlZnRfam9pbiguLHJlZGFrdG9yenlfemFwaXNvdyxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKHJlZGFrdG9yX2R6aWFsdSA9IGlmZWxzZShpcy5uYShEWl9OQVpXQSksYXMuY2hhcmFjdGVyKHJlZGFrdG9yX2R6aWFsdSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIEIiLCJQQVVMSU5BIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIEciLCJNQVJUQUsiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIEwiLCJCRUFUQUsiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShEWl9OQVpXQT09IkxpdGVyYXR1cmEgd3Nww7PFgmN6ZXNuYSAodXR3b3J5IGFub25pbW93ZSBpIHVsb3RuZSkiLCJBTklBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iVXR3b3J5IGFub25pbW93ZSBpIHVsb3RuZSIsIkFOSUEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iVXR3b3J5IGFub25pbW93ZSBpIHVsb3RuZSAoZXBva2Egbmllem5hbmEpIiwiQU5JQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIE4iLCJHT1NJQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShEWl9OQVpXQT09Ikhhc8WCYSBvc29ib3dlIChsaXRlcmF0dXJhIHBvbHNrYSkgLSBPIiwiSVpBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShEWl9OQVpXQT09Ikhhc8WCYSBvc29ib3dlIChsaXRlcmF0dXJhIHBvbHNrYSkgLSBRIiwiSVpBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoRFpfTkFaV0E9PSJMaXRlcmF0dXJhIGJyeXR5anNrYSBpIGlybGFuZHprYSIsIkVXQSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShEWl9OQVpXQT09IlV0d29yeSBhbm9uaW1vd2UgKGJyeXR5anNrYSBpIGlybGFuZHprYSkiLCJFV0EiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIFUiLCJQQVVMSU5BIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoRFpfTkFaV0E9PSJIYXPFgmEgb3NvYm93ZSAobGl0ZXJhdHVyYSBwb2xza2EpIC0gWCIsIlBBVUxJTkEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoRFpfTkFaV0E9PSJIYXPFgmEgb3NvYm93ZSAobGl0ZXJhdHVyYSBwb2xza2EpIC0gViIsIlBBVUxJTkEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIFkiLCJQQVVMSU5BIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoRFpfTkFaV0E9PSJIYXPFgmEgb3NvYm93ZSAobGl0ZXJhdHVyYSBwb2xza2EpIC0gQyIsIkdPU0lBIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKERaX05BWldBPT0iSGFzxYJhIG9zb2Jvd2UgKGxpdGVyYXR1cmEgcG9sc2thKSAtIEQiLCJHT1NJQSIsYXMuY2hhcmFjdGVyKHJlZGFrdG9yX2R6aWFsdSkpKSkpKSkpKSkpKSkpKSkpKSkpDQoNCiN1amVkbm9saWNlbmllIGxpdGVyYXR1cnkgZGxhIGtpbGt1IHphcGlzw7N3IG5vd2VnbyB0d8OzcmN5DQpraWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSA8LSBibl9vayAlPiUNCiAgc2VsZWN0KGlkLFRXX1RXT1JDQV9JRCxUV19OQVpXSVNLTyxUV19JTUlFLERaX0RaSUFMX0lELERaX05BWldBLHJlZGFrdG9yX2R6aWFsdSkgJT4lDQogIGZpbHRlcihpcy5uYShUV19UV09SQ0FfSUQpJiFpcy5uYShUV19OQVpXSVNLTykpICU+JQ0KICBzZWxlY3QoLVRXX1RXT1JDQV9JRCkgJT4lDQogIGFycmFuZ2UoVFdfTkFaV0lTS08sVFdfSU1JRSkgJT4lDQogIGdyb3VwX2J5X2F0KHZhcnMoMjozKSkgJT4lDQogIG11dGF0ZSh1bmlrYXRvd3lfZHppYWwgPSBwYXN0ZSh1bmlxdWUoRFpfRFpJQUxfSUQpLGNvbGxhcHNlID0gInwiKSwNCiAgICAgICAgIERaX0RaSUFMX0lEID0gcGFzdGUoRFpfRFpJQUxfSUQsY29sbGFwc2UgPSAifCIpLA0KICAgICAgICAgRFpfTkFaV0EgPSBwYXN0ZShEWl9OQVpXQSxjb2xsYXBzZSA9ICJ8IiksDQogICAgICAgICByZWRha3Rvcl9kemlhbHUgPSBwYXN0ZShyZWRha3Rvcl9kemlhbHUsY29sbGFwc2UgPSAifCIpLA0KICAgICAgICAgaWQgPSBwYXN0ZShpZCxjb2xsYXBzZSA9ICJ8IikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIlxcfCIsdW5pa2F0b3d5X2R6aWFsKSkgJT4lDQogIHNlbGVjdCgtdW5pa2F0b3d5X2R6aWFsKQ0KaWYobnJvdyhraWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSk+MCkgew0KICBraWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSA8LSBraWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSAlPiUNCiAgbXV0YXRlKGlkX2dydXB5ID0gMTpucm93KC4pKSAlPiUNCiAgY1NwbGl0KC4sYygiaWQiLCJEWl9EWklBTF9JRCIsIkRaX05BWldBIiwicmVkYWt0b3JfZHppYWx1Iiksc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikNCg0Ka2lsa2FfbGl0ZXJhdHVyX25vd2Vnb190d29yY3lbLDI6N11bZHVwbGljYXRlZChraWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSRpZF9ncnVweSksXSA8LSBOQQ0Ka2lsa2FfbGl0ZXJhdHVyX25vd2Vnb190d29yY3kgPC0gZmlsbF8oa2lsa2FfbGl0ZXJhdHVyX25vd2Vnb190d29yY3ksIG5hbWVzKGtpbGthX2xpdGVyYXR1cl9ub3dlZ29fdHdvcmN5KSkNCiN6YWt0dWFsaXpvd2FuaWUgemJpb3J1IHBvZG1pb3Rvd3ljaCBvIHVqZWRub2xpY29uZSBkemlhxYJ5IGRsYSBub3d5Y2ggdHfDs3Jjw7N3DQp4IDwtIDE6bGVuZ3RoKGtpbGthX2xpdGVyYXR1cl9ub3dlZ29fdHdvcmN5JGlkKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBibl9vayREWl9EWklBTF9JRFtibl9vayRpZD09a2lsa2FfbGl0ZXJhdHVyX25vd2Vnb190d29yY3kkaWRbaV1dIDwtIGtpbGthX2xpdGVyYXR1cl9ub3dlZ29fdHdvcmN5JERaX0RaSUFMX0lEW2ldDQogIGJuX29rJERaX05BWldBW2JuX29rJGlkPT1raWxrYV9saXRlcmF0dXJfbm93ZWdvX3R3b3JjeSRpZFtpXV0gPC0gYXMuY2hhcmFjdGVyKGtpbGthX2xpdGVyYXR1cl9ub3dlZ29fdHdvcmN5JERaX05BWldBKVtpXQ0KICBibl9vayRyZWRha3Rvcl9kemlhbHVbYm5fb2skaWQ9PWtpbGthX2xpdGVyYXR1cl9ub3dlZ29fdHdvcmN5JGlkW2ldXSA8LSBhcy5jaGFyYWN0ZXIoa2lsa2FfbGl0ZXJhdHVyX25vd2Vnb190d29yY3kkcmVkYWt0b3JfZHppYWx1KVtpXQ0KfQ0KfQ0KDQojamXFm2xpIG5pZSBtYSBkemlhxYJ1IGx1YiByb2R6YWp1IHphcGlzdSwgdG8gd3Bpc2HEhyBpZCBpIG5henfEmSBkbyB1c3RhbGVuaWENCmJuX29rIDwtIGJuX29rICU+JQ0KICBtdXRhdGUoRFpfRFpJQUxfSUQgPWlmZWxzZShpcy5uYShEWl9EWklBTF9JRCksMCxhcy5pbnRlZ2VyKERaX0RaSUFMX0lEKSksDQogICAgICAgICBEWl9OQVpXQSA9IGlmZWxzZShpcy5uYShEWl9OQVpXQSksIi0tIGRvIHVzdGFsZW5pYSAtLSIsYXMuY2hhcmFjdGVyKERaX05BWldBKSksDQogICAgICAgICBSWl9ST0RaQUpfSUQgPWlmZWxzZShpcy5uYShSWl9ST0RaQUpfSUQpLDAsYXMuaW50ZWdlcihSWl9ST0RaQUpfSUQpKSwNCiAgICAgICAgIFJaX05BWldBID0gaWZlbHNlKGlzLm5hKFJaX05BWldBKSwiLS0gZG8gdXN0YWxlbmlhIC0tIixhcy5jaGFyYWN0ZXIoUlpfTkFaV0EpKSkNCg0KI3VzdW5pxJljaWUgbmFkd3nFvGtpIHoga3NpxIXFvGVrIHogZHppYcWCw7N3IElIDQpzbG93bmlraV9qZXp5a293ZV96bGUgPC0gYm5fb2sgJT4lIA0KICBmaWx0ZXIoRFpfTkFaV0E9PSJTxYJvd25pa2kgasSZenlrb3dlIikgJT4lIA0KICBmaWx0ZXIoIWdyZXBsKCJzxYJvd25payIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpKQ0KDQpzbG93bmlraV9iaW9ncmFmaWN6bmVfemxlIDwtIGJuX29rICU+JSANCiAgZmlsdGVyKERaX05BWldBPT0iU8WCb3duaWtpIGJpb2dyYWZpY3puZSIpICU+JSANCiAgZmlsdGVyKCEoZ3JlcGwoIlPFgm93bmlrIGJpb2dyYWZpY3pueXxCaW9ncmFmaWEiLFg2NTUpJihncmVwbCgicGlzYXJ6fGxpdGVyYXxha3RvcnxzY2Vub2dyYWZ8bmF1Y3p5Y2llbHxha2FkZW1pfG5hdWt8Zmlsb2xvZ3xrcnl0eXxsaXRcXC4iLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKXxncmVwbCgicGlzYXJ6fGxpdGVyYXxha3RvcnxzY2Vub2dyYWZ8bmF1Y3p5Y2llbHxha2FkZW1pfG5hdWt8Zmlsb2xvZ3xrcnl0eXxsaXRcXC4iLFg2NTAsaWdub3JlLmNhc2UgPSBUUlVFKSkpKQ0KDQpibl9vayA8LSBibl9vayAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgc2xvd25pa2lfamV6eWtvd2VfemxlJFpBX1VXQUdJKSAlPiUgDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIHNsb3duaWtpX2Jpb2dyYWZpY3puZV96bGUkWkFfVVdBR0kpDQpjaHVuazExIDwtIGJuX29rDQpgYGANCg0KYGBge3Igc3RhdHlzdHlraSBwcmFjb3duaWvDs3d9DQojYmV6cGllY3puaWsgLSBzcHJhd2TFuiwgY3p5IHJvemvFgmFkIGplc3Qgbmlla29udHJvd2Vyc3lqbnkNCiNiZXogYXV0b21hdHUNCmJuX29rIDwtIGNodW5rMTENCmNvdW50IDwtIGFzLmRhdGEuZnJhbWUodGFibGUoYm5fb2skcmVkYWt0b3JfZHppYWx1LGJuX29rJGN6eV9hdXRvbWF0eWN6bmllKSkgJT4lIA0KICBmaWx0ZXIoVmFyMj09Im5pZSIpICU+JSANCiAgYXJyYW5nZSgtRnJlcSkNCg0KI2lsZSBrc2nEhcW8ZWsgbWEgYXV0b21hdA0KDQpjb3VudDIgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZShibl9vayRjenlfYXV0b21hdHljem5pZSkpDQoNCiNyZWFsbmUgc3RhdHlzdHlraSBwbyBwb2RtaW90b3dlag0KIyB0ZXN0IDwtIGJuX29rICU+JQ0KIyAgIGxlZnRfam9pbihvdXQgJT4lIHNlbGVjdChyZWtvcmRfQk4scHJhY293bmlrKSxieT1jKCJaQV9VV0FHSSI9InJla29yZF9CTiIpKSAlPiUNCiMgICBtdXRhdGUocHJhY293bmlrID0gaWZlbHNlKGlzLm5hKHByYWNvd25payksYXMuY2hhcmFjdGVyKHJlZGFrdG9yX2R6aWFsdSksYXMuY2hhcmFjdGVyKHByYWNvd25paykpLA0KIyAgICAgICAgICBwcmFjb3duaWsgPSBzdHJfcmVwbGFjZShwcmFjb3duaWssIiheLio/KShcXF8uKiQpIiwiXFwxIikpDQojIA0KIyBjb3VudDMgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZSh0ZXN0JHByYWNvd25paykpICU+JQ0KIyAgIGFycmFuZ2UoLUZyZXEpDQojIA0KIyBjb3VudDQgPC0gYXMuZGF0YS5mcmFtZSh0YWJsZSh0ZXN0JHByYWNvd25payx0ZXN0JERaX05BWldBKSkgJT4lDQojICAgZmlsdGVyKFZhcjE9PSJFV0EiJkZyZXE+MCkgJT4lDQojICAgYXJyYW5nZSgtRnJlcSkNCmBgYA0KDQpgYGB7ciBrc2nEhcW8a2kgcG9kbWlvdG93ZX0NCmJuX29rIDwtIGNodW5rMTENCmRhdGEgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09InBvZG1pb3Rvd2EiKSAlPiUNCiAgbXV0YXRlKHJlZGFrdG9yX2R6aWFsdSA9IHBhc3RlKHJlZGFrdG9yX2R6aWFsdSwiX3BvZG0iLHNlcCA9ICIiKSkNCg0KI3V3b2xuaWVuaWUga29sdW1uIHogZGFueW1pIHogYm4gaSBwcnpldHdvcnplbmllIGRvIFBCTA0KIzE6IHphX3V3YWdpLCByel9uYXp3YSwgemFfcm9fcm9rLCB6YV90eXBlLCByel9yb2R6YWpfaWQsIHR3X3R3b3JjYV9pZCwgdHdfbmF6d2lza28sIHR3X2ltaWUsIGR6X2R6aWFsX2lkLCBkel9uYXp3YSwgcmVkYWt0b3JfZHppYWx1DQpwb2xhX3BibCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIFJaX05BWldBLCBaQV9ST19ST0sgPSByb2ssIFJaX1JPRFpBSl9JRCwgVFdfVFdPUkNBX0lELCBUV19OQVpXSVNLTywgVFdfSU1JRSwgRFpfRFpJQUxfSUQsIERaX05BWldBLCByZWRha3Rvcl9kemlhbHUpICU+JQ0KICBtdXRhdGUoWkFfVFlQRSA9ICJLUyIpDQojMjogYXV0b3INCkJOX2F1dG9yIDwtIGRhdGEgJT4lDQogIHNlbGVjdChYMTAwLFgyNDUsWkFfVVdBR0kpDQojcG9sZSAxMDANCm1hcmNfZmllbGRfMTAwIDwtIEJOX2F1dG9yICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDEwMCklPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlcGxhY2VfYWxsKFgxMDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDEwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZW1vdmVfYWxsKFgxMDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChCTl9hdXRvciRYMTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzEwMDwtY2JpbmQobWFyY19maWVsZF8xMDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8xMDAkWDEwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzEwMCRYMTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzEwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzEwMCRYMTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8xMDAkWDEwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQojcG9sZSAyNDUNCm1hcmNfZmllbGRfMjQ1IDwtIEJOX2F1dG9yICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlcGxhY2VfYWxsKFgyNDUsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI0NSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChCTl9hdXRvciRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KaWYoIiRiIiAlaW4lIGNvbG5hbWVzKG1hcmNfZmllbGRfMTAwKT09VFJVRSkgeyANCkJOX2F1dG9yIDwtIG1hcmNfZmllbGRfMTAwICU+JQ0KIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KIHVuaXF1ZSgpICU+JQ0KIG11dGF0ZShgJGFgID0gaWZlbHNlKCFpcy5uYShgJGJgKSxwYXN0ZShgJGFgLGAkYmAsc2VwID0gIiAiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSAlPiUNCiBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSkgJT4lDQogdW5pcXVlKCkgJT4lDQogbXV0YXRlKEFNX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCBzdHJfcmVwbGFjZV9hbGwoc3RyX3JlbW92ZV9hbGwoYCRhYCwiLCIpLCJcXHwiLCIsICIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKGAkYWApKSksDQogICAgICAgIEFNX0lNSUUgPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIioiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiLCIsYCRhYCksc3RyX3JlcGxhY2VfYWxsKGAkYWAsIiguKj8pKCwgKSguKikiLCJcXDMiKSwiKiIpKSkgJT4lDQogc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUpICU+JQ0KIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMjQ1LGJ5PSJaQV9VV0FHSSIpICU+JQ0KIHNlbGVjdChaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFLCBYMjQ1YyA9IGAkY2ApDQp9IGVsc2Ugew0KICBCTl9hdXRvciA8LSBtYXJjX2ZpZWxkXzEwMCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWApICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIig/PD1bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKFxcLiQpIikpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKEFNX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCBzdHJfcmVwbGFjZV9hbGwoc3RyX3JlbW92ZV9hbGwoYCRhYCwiLCIpLCJcXHwiLCIsICIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKGAkYWApKSksDQogICAgICAgIEFNX0lNSUUgPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIioiLA0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiLCIsYCRhYCksc3RyX3JlcGxhY2VfYWxsKGAkYWAsIiguKj8pKCwgKSguKikiLCJcXDMiKSwiKiIpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFLCBYMjQ1YyA9IGAkY2ApDQp9DQogIA0KeCA8LSAxOmxlbmd0aHMoQk5fYXV0b3JbMV0pDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBCTl9hdXRvciRjenlfbmF6d2lza29baV0gPC0gZ3JlcGwoQk5fYXV0b3IkQU1fTkFaV0lTS09baV0sQk5fYXV0b3IkWDI0NWNbaV0pDQogIEJOX2F1dG9yJGN6eV9pbWllW2ldIDwtIGdyZXBsKEJOX2F1dG9yJEFNX0lNSUVbaV0sQk5fYXV0b3IkWDI0NWNbaV0pDQp9DQoNCkJOX2F1dG9yIDwtIEJOX2F1dG9yICU+JQ0KICBtdXRhdGUoWkFfQUROT1RBQ0pFID0gaWZlbHNlKGN6eV9uYXp3aXNrbz09RkFMU0V8Y3p5X2ltaWU9PUZBTFNFLHBhc3RlKCJVV0FHQSEgS29uZmxpa3QgdyBkYW55Y2ggb3NvYm93eWNoIHcgcG9sYWNoIDEwMCBpIDI0NS4gUG9yw7N3bmFqIHBvbGUgYXV0b3IgdyBmb3JtdWxhcnp1IHogcG9sZW0gQk46ICIsWDI0NWMsc2VwID0gIiIpLE5BKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFLFpBX0FETk9UQUNKRSkgJT4lDQogIG11dGF0ZShuYXp3YSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfdG9fbG93ZXIocGFzdGUoQU1fTkFaV0lTS08sQU1fSU1JRSwgc2VwID0gIiIpKSwgIlxcVyIsICIiKSkgJT4lDQogIGxlZnRfam9pbiguLFBCTF9hdXRvcnp5ICU+JSBzZWxlY3QoQU1fQVVUT1JfSUQsQU1fS1JZUFRPTklNLEFNX0xJQ1pCQV9aQVBJU09XLG5hendhKSAlPiUgZmlsdGVyKGlzLm5hKEFNX0tSWVBUT05JTSkpLGJ5PSJuYXp3YSIpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUsLUFNX0xJQ1pCQV9aQVBJU09XKQ0KQk5fYXV0b3IkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKEJOX2F1dG9yWzE6M10pKQ0KQk5fYXV0b3IgPC0gQk5fYXV0b3JbIWR1cGxpY2F0ZWQoQk5fYXV0b3IkaWRfZ3J1cHkpLF0gJT4lDQogIHNlbGVjdChaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFLFpBX0FETk9UQUNKRSxBTV9BVVRPUl9JRCkNCg0KIzM6IHR5dHXFgg0KI3BvbGUgMjQ1DQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCmlmKCIkbiIgJWluJSBjb2xuYW1lcyhtYXJjX2ZpZWxkXzI0NSkpIHsNCm1hcmNfZmllbGRfMjQ1IDwtIG1hcmNfZmllbGRfMjQ1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCxgJGJgLGAkbmAsYCRwYCkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSxjb2xsYXBzZSA9ICIgIiksDQogICAgICAgICBgJGJgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksY29sbGFwc2UgPSAiICIpLA0KICAgICAgICAgYCRuYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJG5gKSwiIixhcy5jaGFyYWN0ZXIoYCRuYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgIGAkcGAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRwYCksIiIsYXMuY2hhcmFjdGVyKGAkcGApKSxjb2xsYXBzZSA9ICIgIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICB1bml0ZSgiWkFfVFlUVUwiLGAkYWA6YCRwYCxzZXAgPSAiICIsbmEucm0gPSBUUlVFKSAlPiUgDQogIG11dGF0ZShaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiICsiLCIgIiksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZW1vdmUoWkFfVFlUVUwsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLGFzLmNoYXJhY3RlcihaQV9UWVRVTCkpKSkpLA0KICAgICAgICAgWkFfVFlUVUwgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksYXMuY2hhcmFjdGVyKFpBX1RZVFVMKSkpKSksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiXFwuezN9IFxcLnszfSIsIi4uLiAiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCIgOyAiLCIuICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsWkFfVFlUVUwpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX1RZVFVMKQ0KfSBlbHNlIHsNCiAgbWFyY19maWVsZF8yNDUgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksY29sbGFwc2UgPSAiICIpLA0KICAgICAgICAgYCRiYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGJgKSwiIixhcy5jaGFyYWN0ZXIoYCRiYCkpLGNvbGxhcHNlID0gIiAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHVuaXRlKCJaQV9UWVRVTCIsYCRhYDpgJGJgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JSANCiAgbXV0YXRlKFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCIgKyIsIiAiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlbW92ZShaQV9UWVRVTCwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksYXMuY2hhcmFjdGVyKFpBX1RZVFVMKSkpKSksDQogICAgICAgICBaQV9UWVRVTCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSxhcy5jaGFyYWN0ZXIoWkFfVFlUVUwpKSkpKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBzdHJfcmVwbGFjZV9hbGwoWkFfVFlUVUwsIiA7ICIsIi4gIiksDQogICAgICAgICBaQV9UWVRVTCA9IGdzdWIoIiggOiApKC4pIiwiLiBcXFVcXDIiLHBlcmw9VFJVRSxaQV9UWVRVTCkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfVFlUVUwpDQp9DQojZG9waXNhbmllIGdhdHVua3UgZG8gcHJ6ZWRtaW90b3dlaiBuYSBwb2RzdGF3aWUgNjU1IGkgNjUwICANCmdhdHVua2lfcGJsIDwtIGRhdGEuZnJhbWUoZ2F0dW5layA9IGMoImFmb3J5em0iLCAiYWxidW0iLCAiYW50b2xvZ2lhIiwgImF1dG9iaW9ncmFmaWEiLCAiZHppZW5uaWsiLCAiZXNlaiIsICJmZWxpZXRvbiIsICJpbm5lIiwgImthemFuaWUiLCAibGlzdCIsICJtaW5pYXR1cmEgcHJvesSFIiwgIm9wb3dpYWRhbmllIiwgInBvZW1hdCIsICJwb3dpZcWbxIciLCAicHJvemEiLCAicHJvemEgcG9ldHlja2EiLCAicmVwb3J0YcW8IiwgInJvem15xZtsYW5pZSByZWxpZ2lqbmUiLCAicnlzdW5laywgb2JyYXoiLCAic2NlbmFyaXVzeiIsICJzemtpYyIsICJ0ZWtzdCBiaWJsaWpueSIsICJ0ZWtzdCBkcmFtYXR5Y3pueSIsICJkcmFtYXQiLCAid2llcnN6IiwgIndzcG9tbmllbmlhIiwgInd5cG93aWVkxboiLCAicGFtacSZdG5pa2kiLCAicG9lemphIiwgImxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSIsICJzYXR5cmEiLCAicGlvc2Vua2EiKSkNCg0KI2RyYW1hdCwgcGFtacSZdG5pa2ksIHBvZXpqYSwgbGl0ZXJhdHVyYSBwb2Ryw7PFvG5pY3phLCBzYXR5cmEsIHBpb3NlbmthDQpnYXR1bmtpX2JuIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjU1LFg2NTApDQoNCmdhdHVua2lfYm4gPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgIGZyb20gZ2F0dW5raV9ibg0KICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gZ2F0dW5raV9wYmwgb24gbG93ZXIoZ2F0dW5raV9ibi5YNjU1KSBsaWtlICclJ3x8Z2F0dW5raV9wYmwuZ2F0dW5la3x8JyUnIikNCmdhdHVua2lfYm4gPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgZnJvbSBnYXR1bmtpX2JuDQogICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIGdhdHVua2lfcGJsIG9uIGxvd2VyKGdhdHVua2lfYm4uWDY1MCkgbGlrZSAnJSd8fGdhdHVua2lfcGJsLmdhdHVuZWt8fCclJyIpDQpjb2xuYW1lcyhnYXR1bmtpX2JuKVs1XSA8LSAiZ2F0dW5lazIiDQpnYXR1bmtpX2JuIDwtIGdhdHVua2lfYm4gJT4lDQogIG11dGF0ZShnYXR1bmVrID0gaWZlbHNlKGlzLm5hKGdhdHVuZWspJiFpcy5uYShnYXR1bmVrMiksYXMuY2hhcmFjdGVyKGdhdHVuZWsyKSxhcy5jaGFyYWN0ZXIoZ2F0dW5laykpLA0KICAgICAgICAgZ2F0dW5layA9IGlmZWxzZShncmVwbCgicHJ6eXBvd2llxZvEhyIsWDY1NSxpZ25vcmUuY2FzZSA9IFRSVUUpJiFncmVwbCgiW155XXBvd2llxZvEhyIsWDY1NSkmZ2F0dW5laz09InBvd2llxZvEhyIsIm9wb3dpYWRhbmllIixhcy5jaGFyYWN0ZXIoZ2F0dW5laykpKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShnYXR1bmVrKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxnYXR1bmVrKSAlPiUNCiAgbXV0YXRlKGdhdHVuZWsgPSBpZmVsc2UoZ2F0dW5laz09ImRyYW1hdCIsInRla3N0IGRyYW1hdHljem55IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdhdHVuZWs9PSJwYW1pxJl0bmlraSIsIndzcG9tbmllbmlhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShnYXR1bmVrPT0icG9lemphIiwid2llcnN6IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ2F0dW5laz09ImxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSIsInJlcG9ydGHFvCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShnYXR1bmVrPT0icGlvc2Vua2EiLCJ3aWVyc3oiLGFzLmNoYXJhY3RlcihnYXR1bmVrKSkpKSkpKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoZ2F0dW5layA9IHBhc3RlKGdhdHVuZWssY29sbGFwc2UgPSAiLCAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShnYXR1bmVrID0gZ3N1YigiKF4uKSIsIlxcVVxcMSIscGVybCA9IFRSVUUsIGdhdHVuZWspKQ0KI3BvxYLEhWN6ZW5pZSB0eXR1xYJ1IHogZ2F0dW5raWVtDQp6YV90eXR1bCA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgbGVmdF9qb2luKC4sZ2F0dW5raV9ibixieT0iWkFfVVdBR0kiKSAlPiUgDQogIG11dGF0ZShnYXR1bmVrID0gcGFzdGUoIlsiLGdhdHVuZWssIl0iLHNlcCA9ICIiKSwNCiAgICAgICAgIGdhdHVuZWsgPSBpZmVsc2UoZ2F0dW5laz09IltOQV0iLE5BLGFzLmNoYXJhY3RlcihnYXR1bmVrKSkpICU+JSANCiAgdW5pdGUoIlpBX1RZVFVMIiwgWkFfVFlUVUw6Z2F0dW5laywgc2VwID0gIi4gIixuYS5ybT1UUlVFKSAlPiUgDQogIG11dGF0ZShaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiXFwuIFxcLiIsIi4gIiksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlKFpBX1RZVFVMLCIoXFwhKShcXC4pfChcXD8pKFxcLikiLCJcXDEiKSkNCg0KIzQ6IHR5dHXFgiBvcnlnaW5hxYJ1DQojcG9sZSAyNDYNCm1hcmNfZmllbGRfMjQ2IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ2KSU+JQ0KICBmaWx0ZXIoWDI0NiE9IiIpICU+JQ0KICBtdXRhdGUoWDI0Nj1zdHJfcmVtb3ZlX2FsbChYMjQ2LCJ+IiksDQogICAgICAgICBYMjQ2PXN0cl9yZXBsYWNlX2FsbChYMjQ2LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDYiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NiE9IiIpICU+JQ0KICBtdXRhdGUoWDI0Nj1zdHJfcmVtb3ZlX2FsbChYMjQ2LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ2LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ2KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NjwtY2JpbmQobWFyY19maWVsZF8yNDYsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDYkWDI0NiA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NiRYMjQ2LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NlssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NiRYMjQ2KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDYkWDI0NiksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KaWYoIiRuIiAlaW4lIGNvbG5hbWVzKG1hcmNfZmllbGRfMjQ2KSkgew0KbWFyY19maWVsZF8yNDYgPC0gbWFyY19maWVsZF8yNDZbLCBjb2xTdW1zKGlzLm5hKG1hcmNfZmllbGRfMjQ2KSkgIT0gbnJvdyhtYXJjX2ZpZWxkXzI0NildICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIm9yeWciLFgyNDYpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCxgJG5gLGAkcGApICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksY29sbGFwc2UgPSAiLCAiKSwNCiAgICAgICAgIGAkYmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSxjb2xsYXBzZSA9ICIiKSwNCiAgICAgICAgIGAkbmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRuYCksIiIsYXMuY2hhcmFjdGVyKGAkbmApKSxjb2xsYXBzZSA9ICIiKSwNCiAgICAgICAgIGAkcGAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRwYCksIiIsYXMuY2hhcmFjdGVyKGAkcGApKSxjb2xsYXBzZSA9ICIiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHVuaXRlKCJYMjQ2IixgJGFgOmAkcGAsc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIA0KICBtdXRhdGUoWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCIgKyIsIiAiKSwNCiAgICAgICAgIFgyNDYgPSBzdHJfcmVtb3ZlKFgyNDYsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKXswLDF9KC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLGFzLmNoYXJhY3RlcihYMjQ2KSkpKSksDQogICAgICAgICBYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBYMjQ2ID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFgyNDYpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCBYMjQ2KQ0KfSBlbHNlIHsNCiAgbWFyY19maWVsZF8yNDYgPC0gbWFyY19maWVsZF8yNDZbLCBjb2xTdW1zKGlzLm5hKG1hcmNfZmllbGRfMjQ2KSkgIT0gbnJvdyhtYXJjX2ZpZWxkXzI0NildICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIm9yeWciLFgyNDYpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSxjb2xsYXBzZSA9ICIsICIpLA0KICAgICAgICAgYCRiYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGJgKSwiIixhcy5jaGFyYWN0ZXIoYCRiYCkpLGNvbGxhcHNlID0gIiIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgdW5pdGUoIlgyNDYiLGAkYWA6YCRiYCxzZXAgPSAiICIsbmEucm0gPSBUUlVFKSAlPiUgDQogIG11dGF0ZShYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIiArIiwiICIpLA0KICAgICAgICAgWDI0NiA9IHN0cl9yZW1vdmUoWDI0NiwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICAgWDI0NiA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYMjQ2KSxhcy5jaGFyYWN0ZXIoWDI0NikpKSkpLA0KICAgICAgICAgWDI0NiA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICl7MCwxfSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgIFgyNDYgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NiwiXFwuezN9IFxcLnszfSIsIi4uLiAiKSwNCiAgICAgICAgIFgyNDYgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsWDI0NikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIFgyNDYpDQp9DQoNCiNwb2xlIDUwMA0KbWFyY19maWVsZF81MDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1MDApJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIn4iKSwNCiAgICAgICAgIFg1MDA9c3RyX3JlcGxhY2VfYWxsKFg1MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDUwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDUwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg1MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF81MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNTAwPC1jYmluZChtYXJjX2ZpZWxkXzUwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzUwMCRYNTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNTAwJFg1MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNTAwJFg1MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzUwMCRYNTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzUwMCA8LSBtYXJjX2ZpZWxkXzUwMCAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnXFwuXFw6IixYNTAwKSkgJT4lDQogIG11dGF0ZShYNTAwID0gc3RyX3JlbW92ZShgJGFgLCJeVHl0XFwuIG9yeWdcXC46IHxeVHl0XFwsIG9yeWdcXC46IHxeLio/dHl0XFwuIG9yeWdcXC46ICIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDUwMCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixYNTAwKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDUwMCksYXMuY2hhcmFjdGVyKFg1MDApKSkpKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSkpKSksDQogICAgICAgICBYNTAwID0gc3RyX3JlcGxhY2VfYWxsKFg1MDAsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBYNTAwID0gc3RyX3JlbW92ZShYNTAwLCAiXFwuJCIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwiKCx7MCwxfSB7MCwxfSlcXGR7NH0uKiR8KCwgdHwuIFQpeXQuIG9yeWcuIGN5a2x1OiIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1MDApDQojdHl0dcWCIG9yeWdpbmHFgnUNCnphX3R5dHVsX29yeWdpbmFsdSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzI0NixieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81MDAsYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShYNTAwID0gaWZlbHNlKGlzLm5hKFg1MDApLE5BLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIm9yeWciLFg1MDApLE5BLGFzLmNoYXJhY3RlcihYNTAwKSkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIlxcLiAtICIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIC0gLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKCFpcy5uYShYNTAwKSZncmVwbCgiTmEga3NpxIXFvGNlIHBzZXVkIixYNTAwKSxzdHJfcmVwbGFjZShYNTAwLCIoLio/KShcXC4gTmEga3NpxIXFvGNlIHBzZXVkLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKCFpcy5uYShYNTAwKSZncmVwbCgiUHJ6ZWvFglxcLiB3ZyIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIFByemVrxYJcXC4gd2cuKiQpIiwiXFwxIiksYXMuY2hhcmFjdGVyKFg1MDApKSwNCiAgICAgICAgIFpBX1RZVFVMX09SWUdJTkFMVSA9IGlmZWxzZShpcy5uYShYMjQ2KSZpcy5uYShYNTAwKSxOQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoIWlzLm5hKFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSxhcy5jaGFyYWN0ZXIoWDI0NikpKSwNCiAgICAgICAgIFpBX1RZVFVMX09SWUdJTkFMVSA9IHN0cl9yZW1vdmVfYWxsKFpBX1RZVFVMX09SWUdJTkFMVSwnXFwiJykpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfVFlUVUxfT1JZR0lOQUxVKQ0KIzU6IGrEmXp5ayBvcnlnaW5hxYJ1DQptYXJjX2ZpZWxkXzA0MSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDA0MSklPiUNCiAgZmlsdGVyKFgwNDEhPSIiKSAlPiUNCiAgbXV0YXRlKFgwNDE9c3RyX3JlcGxhY2VfYWxsKFgwNDEsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDA0MSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMDQxIT0iIikgJT4lDQogIG11dGF0ZShYMDQxPXN0cl9yZW1vdmVfYWxsKFgwNDEsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDA0MSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgwNDEsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8wNDEpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMDQxPC1jYmluZChtYXJjX2ZpZWxkXzA0MSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzA0MSRYMDQxIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMDQxJFgwNDEsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMDQxWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMDQxJFgwNDEpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzA0MSRYMDQxKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQp6YV9qZXp5a19vcnlnaW5hbHUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8wNDEgJT4lIHNlbGVjdChaQV9VV0FHSSxaQV9KRVpZS19PUllHSU5BTFUgPSBgJGFgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKFpBX0pFWllLX09SWUdJTkFMVSA9IHN0cl9yZXBsYWNlX2FsbChaQV9KRVpZS19PUllHSU5BTFUsIlxcJGEiLCIsIikpICU+JQ0KICB1bmlxdWUoKQ0KDQojNjogd3Nww7PFgnR3w7NyY3kNCm1hcmNfZmllbGRfNzAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNzAwKSU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDcwMD1zdHJfcmVwbGFjZV9hbGwoWDcwMCwiKC4uXFwkYSkiLCJ8XFwxIiksDQogICAgICAgICBYNzAwPXN0cl9yZXBsYWNlX2FsbChYNzAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg3MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDcwMD1zdHJfcmVtb3ZlX2FsbChYNzAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg3MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkgJT4lDQogIGZpbHRlcihYNzAwIT0iIikNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNzAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNzAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzcwMDwtY2JpbmQobWFyY19maWVsZF83MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF83MDAkWDcwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzcwMCRYNzAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzcwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzcwMCRYNzAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF83MDAkWDcwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQpCTl93c3BvbHR3b3JjYSA8LSBtYXJjX2ZpZWxkXzcwMCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9zb2JhID0gYCRhYCxmdW5rY2phID0gYCRlYCkgJT4lDQogIGZpbHRlcighaXMubmEoZnVua2NqYSkpICU+JQ0KICBtdXRhdGUob3NvYmEgPSBzdHJfcmVtb3ZlKG9zb2JhLCIoPzw9W2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIpLA0KICAgICAgICAgT1NfTkFaV0lTS08gPSBpZmVsc2UoZ3JlcGwoIiwiLG9zb2JhKSxzdHJfcmVwbGFjZV9hbGwob3NvYmEsIiguKj8pKCwgKSguKikiLCJcXDEiKSxhcy5jaGFyYWN0ZXIob3NvYmEpKSwNCiAgICAgICAgIE9TX0lNSUUgPSBpZmVsc2UoZ3JlcGwoIiwiLG9zb2JhKSxzdHJfcmVwbGFjZV9hbGwob3NvYmEsIiguKj8pKCwgKSguKikiLCJcXDMiKSwiKiIpLA0KICAgICAgICAgd3NfcHJvc3R5ID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihvc29iYSksICJcXFciLCAiIiksDQogICAgICAgICBmdV9wcm9zdGEgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKGZ1bmtjamEpLCAiXFxXIiwgIiIpKSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX3dzcG9sdHdvcmN5ICU+JSBzZWxlY3QoT1NfT1NPQkFfSUQsT1NfTElDWkJBX1pBUElTT1csbmF6d2FfcHJvc3RhKSxieT1jKCJ3c19wcm9zdHkiPSJuYXp3YV9wcm9zdGEiKSkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksT1NfTkFaV0lTS08sT1NfSU1JRSwtT1NfTElDWkJBX1pBUElTT1cpDQpCTl93c3BvbHR3b3JjYSRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoQk5fd3Nwb2x0d29yY2FbMToyXSkpDQpCTl93c3BvbHR3b3JjYSA8LSBCTl93c3BvbHR3b3JjYVshZHVwbGljYXRlZChCTl93c3BvbHR3b3JjYSRpZF9ncnVweSksXSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX2Z1bmtjamUsYnk9YygiZnVfcHJvc3RhIj0ibmF6d2EiKSkgJT4lDQogIG11dGF0ZShmb19zeW1ib2wgPSBpZmVsc2UoZm9fc3ltYm9sPT0iTlVMTCIsTkEsYXMuY2hhcmFjdGVyKGZvX3N5bWJvbCkpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLE9TX05BWldJU0tPLE9TX0lNSUUsT1NfT1NPQkFfSUQsZm9fc3ltYm9sLGZvX25hendhLGZ1bmtjamEpDQoNCiN0dXRhaiBwcnplc3p1a2HEhyBYMjQ1IGkgem5hbGXFusSHIGLFgsSZZHkgd3Nww7PFgnR3w7NyY8Ozdw0KbWFyY19maWVsZF8yNDUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDUpJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIn4iKSwNCiAgICAgICAgIFgyNDU9c3RyX3JlcGxhY2VfYWxsKFgyNDUsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI0NSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNDUsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNDUpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjQ1PC1jYmluZChtYXJjX2ZpZWxkXzI0NSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI0NSRYMjQ1IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjQ1JFgyNDUsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjQ1WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjQ1JFgyNDUpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI0NSRYMjQ1KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzI0NSA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDVjPWAkY2ApDQoNCkJOX3dzcG9sdHdvcmNhIDwtIEJOX3dzcG9sdHdvcmNhICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzI0NSxieT0iWkFfVVdBR0kiKQ0KDQp4IDwtIDE6bGVuZ3RocyhCTl93c3BvbHR3b3JjYVsxXSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIEJOX3dzcG9sdHdvcmNhJGN6eV9uYXp3aXNrb1tpXSA8LSBzdHJfZGV0ZWN0KEJOX3dzcG9sdHdvcmNhJFgyNDVjW2ldLEJOX3dzcG9sdHdvcmNhJE9TX05BWldJU0tPW2ldKQ0KICBCTl93c3BvbHR3b3JjYSRjenlfaW1pZVtpXSA8LSBncmVwbChCTl93c3BvbHR3b3JjYSRPU19JTUlFW2ldLEJOX3dzcG9sdHdvcmNhJFgyNDVjW2ldKQ0KfQ0KDQpCTl93c3BvbHR3b3JjYSA8LSBCTl93c3BvbHR3b3JjYSAlPiUNCiAgbXV0YXRlKFpBX0FETk9UQUNKRSA9IGlmZWxzZShjenlfbmF6d2lza289PUZBTFNFfGN6eV9pbWllPT1GQUxTRSxwYXN0ZSgiVVdBR0EhIEtvbmZsaWt0IHcgZGFueWNoIG9zb2Jvd3ljaCB3IHBvbGFjaCA3MDAgaSAyNDUuIFBvcsOzd25haiBwb2xhIHdzcMOzxYJ0w7NyY8OzdyB3IGZvcm11bGFyenUgeiBwb2xlbSBCTjogIixYMjQ1YyxzZXAgPSAiIiksTkEpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLE9TX05BWldJU0tPLE9TX0lNSUUsT1NfT1NPQkFfSUQsZm9fc3ltYm9sLGZvX25hendhLGZ1bmtjamEsWkFfQUROT1RBQ0pFKQ0KDQojNzogb3BpcyB3c3DDs8WCdHfDs3Jjw7N3DQpvcGlzX3dzcG9sdHdvcmNvdyA8LSBCTl93c3BvbHR3b3JjYSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGZ1bmtjamEsT1NfSU1JRSxPU19OQVpXSVNLTykgJT4lDQogIGZ1bGxfam9pbiguLG1hcmNfZmllbGRfMjQ1LGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKE9TX05BWldJU0tPKXwoaXMubmEoT1NfTkFaV0lTS08pJmdyZXBsKCJldCBhbFxcLiIsWDI0NWMpKSkgJT4lDQogIG11dGF0ZShqZXN0X2V0X2FsID0gZ3JlcGwoImV0IGFsXFwuIixYMjQ1YyksDQogICAgICAgICBPU19JTUlFID0gaWZlbHNlKE9TX0lNSUU9PSIqIiwiIixhcy5jaGFyYWN0ZXIoT1NfSU1JRSkpLA0KICAgICAgICAgb3BpcyA9IGlmZWxzZSghaXMubmEoT1NfTkFaV0lTS08pLHBhc3RlKGZ1bmtjamEsT1NfSU1JRSwgT1NfTkFaV0lTS08sIHNlcCA9ICIgIiksIiIpLA0KICAgICAgICAgb3BpcyA9IHN0cl9yZXBsYWNlX2FsbChvcGlzLCIgKyIsIiAiKSwNCiAgICAgICAgIG9waXMgPSBpZmVsc2Uob3Bpcz09IiAiLCIiLGFzLmNoYXJhY3RlcihvcGlzKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3BpcyxqZXN0X2V0X2FsKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUob3BpcyA9IHBhc3RlKG9waXMsY29sbGFwc2UgPSAiLCAiKSwNCiAgICAgICAgIGplc3RfZXRfYWwgPSBwYXN0ZSh1bmlxdWUoamVzdF9ldF9hbCksc2VwID0gIiIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKG9waXMgPSBpZmVsc2UoamVzdF9ldF9hbD09VFJVRSZvcGlzPT0iIiwiZXQgYWwuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGplc3RfZXRfYWwscGFzdGUob3BpcywiZXQgYWwuIixzZXAgPSAiICIpLG9waXMpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvcGlzKQ0KDQojNzAwDQptYXJjX2ZpZWxkXzcwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDcwMCklPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIiguLlxcJGEpIiwifFxcMSIpLA0KICAgICAgICAgWDcwMD1zdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNzAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlbW92ZV9hbGwoWDcwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNzAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpICU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDcwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzcwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF83MDA8LWNiaW5kKG1hcmNfZmllbGRfNzAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNzAwJFg3MDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF83MDAkWDcwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF83MDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF83MDAkWDcwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNzAwJFg3MDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfNzAwIDwtIG1hcmNfZmllbGRfNzAwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3NvYmEgPSBgJGFgLGZ1bmtjamEgPSBgJGVgKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShmdW5rY2phKSkgJT4lDQogIG11dGF0ZShvc29iYSA9IHN0cl9yZW1vdmUob3NvYmEsIig/PD1bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKFxcLiQpIiksDQogICAgICAgICBPU19OQVpXSVNLTyA9IGlmZWxzZShncmVwbCgiLCIsb3NvYmEpLHN0cl9yZXBsYWNlX2FsbChvc29iYSwiKC4qPykoLCApKC4qKSIsIlxcMSIpLGFzLmNoYXJhY3Rlcihvc29iYSkpLA0KICAgICAgICAgT1NfSU1JRSA9IGlmZWxzZShncmVwbCgiLCIsb3NvYmEpLHN0cl9yZXBsYWNlX2FsbChvc29iYSwiKC4qPykoLCApKC4qKSIsIlxcMyIpLCIqIiksDQogICAgICAgICBmdW5rY2phX2R1emEgPSBzdHJfdG9fbG93ZXIoZnVua2NqYSksDQogICAgICAgICBvcGlzID0gcGFzdGUoZnVua2NqYV9kdXphLE9TX0lNSUUsT1NfTkFaV0lTS08sIHNlcCA9ICIgIiksDQogICAgICAgICBvcGlzX2R1enkgPSBwYXN0ZShmdW5rY2phLE9TX0lNSUUsT1NfTkFaV0lTS08sIHNlcCA9ICIgIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3BpcyxvcGlzX2R1enkpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShvcGlzID0gcGFzdGUob3Bpcyxjb2xsYXBzZSA9ICIuICIpLA0KICAgICAgICAgb3Bpc19kdXp5ID0gcGFzdGUob3Bpc19kdXp5LGNvbGxhcHNlID0gIi4gIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpDQoNCiNvcGlzIHdzcMOzxYJ0d8OzcmPDs3cgemUgc3RyZWZ5IG9kcG93aWVkemlhbG5vxZtjaSAyNDUNCm1hcmNfZmllbGRfMjQ1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJ+IiksDQogICAgICAgICBYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF8yNDUgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGNgKQ0KDQojcG9yw7N3bmFuaWUgb3Bpc3Ugd3Nww7PFgnR3w7NyY8OzdyB6IDI0NSBpIDcwMA0Kd3Nwb2x0d29yY3kgPC0gbWFyY19maWVsZF83MDAgJT4lDQogIGZ1bGxfam9pbiguLG1hcmNfZmllbGRfMjQ1LGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBjU3BsaXQoLiwiJGMiLHNlcCA9ICIgOyAiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogICNvZ3JhbmljemFuaWUgb3PDs2IgemUgc3RyZWZ5IG9kcG93aWVkemlhbG5vxZtjaQ0KICBtdXRhdGUoY3p5X21hbGEgPSBncmVwbCgiIFthLXrEmcOzxIXFm8WCxbzFusSHxYRdfF5bYS16xJnDs8SFxZvFgsW8xbrEh8WEXXxcXFtbYS16xJnDs8SFxZvFgsW8xbrEh8WEXSIsYCRjYCxpZ25vcmUuY2FzZSA9IEZBTFNFKSkgJT4lDQogIGZpbHRlcihjenlfbWFsYT09VFJVRSkgJT4lDQogIHNlbGVjdCgtY3p5X21hbGEpICU+JQ0KICAjbXV0YXRlKGAkY2AgPSBnc3ViKCJeKFxcWyl7MCwxfShbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pIiwiXFwxXFxVXFwyIixwZXJsID0gVFJVRSxgJGNgKSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKFgyNDUgPSBwYXN0ZShgJGNgLCBjb2xsYXBzZSA9ICIsICIpKSAlPiUNCiAgc2VsZWN0KC1gJGNgKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShvcmRlcl9wYmwgPSBhcy5jaGFyYWN0ZXIoc3RyX2V4dHJhY3RfYWxsKG9waXMsIig/PD1efCB8XFxbfC0pKFtBLVpBw4HDgMOCw4PDhMSCxIDDhcSEw4ZFw4nDiMOKw4vEmsSSxJbEmEnDjcOMw47Dj8SqxK5JT8OTw5LDlMOVw5bFkMOYxZJVw5rDmcObw5zFsMWqxa9Zw51DxIbEjMOnRMSOxJDEkEfEosSeS8S2TMWBxLtOxYPDkcWHxYXFilLFmFPFmsWgxZ5Tw59UxaTFpsOexaI4WsW7xbnFvWEtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKSIpKSwNCiAgICAgICAgIG9yZGVyX3BibCA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcl9wYmwsIiguKj9cIikoLikoXCIuKj8uKSIsICJcXDIiKSwNCiAgICAgICAgIG9yZGVyX2JuID0gYXMuY2hhcmFjdGVyKHN0cl9leHRyYWN0X2FsbChYMjQ1LCIoPzw9XnwgfFxcW3wtKShbQS1aQcOBw4DDgsODw4TEgsSAw4XEhMOGRcOJw4jDisOLxJrEksSWxJhJw43DjMOOw4/EqsSuSU/Dk8OSw5TDlcOWxZDDmMWSVcOaw5nDm8OcxbDFqsWvWcOdQ8SGxIzDp0TEjsSQxJBHxKLEnkvEtkzFgcS7TsWDw5HFh8WFxYpSxZhTxZrFoMWeU8OfVMWkxabDnsWiOFrFu8W5xb1hLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkiKSksDQogICAgICAgICBvcmRlcl9ibiA9IHN0cl9yZXBsYWNlX2FsbChvcmRlcl9ibiwiKC4qP1wiKSguKShcIi4qPy4pIiwgIlxcMiIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwgIlxcLiQiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsICJcXFsiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsICJcXF0iKSwNCiAgICAgICAgIG9yZGVyX3BibCA9IHN0cl9yZW1vdmVfYWxsKG9yZGVyX3BibCwgIlthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSIpLA0KICAgICAgICAgb3JkZXJfYm4gPSBzdHJfcmVtb3ZlX2FsbChvcmRlcl9ibiwgIlthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSIpLA0KICAgICAgICAgdG9fc2FtbyA9IG9yZGVyX3BibD09b3JkZXJfYm4sDQogICAgICAgICBYMjQ1ID0gZ3N1YigiKF5bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKC4qKSIsIlxcVVxcMVxcRVxcMiIscGVybCA9IFRSVUUsIFgyNDUpKSAlPiUNCiAgbGVmdF9qb2luKC4semFfamV6eWtfb3J5Z2luYWx1LGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoY3p5X3BsID0gZ3JlcGwoInBvbCIsWkFfSkVaWUtfT1JZR0lOQUxVKXxpcy5uYShaQV9KRVpZS19PUllHSU5BTFUpLA0KICAgICAgICAgZGVjeXpqYSA9IGlmZWxzZSh0b19zYW1vPT1GQUxTRXxjenlfcGw9PUZBTFNFLEZBTFNFLFRSVUUpKQ0KDQp6YV9vcGlzX3dzcG9sdHdvcmNvdyA8LSB3c3BvbHR3b3JjeSAlPiUNCiAgbXV0YXRlKHphX29waXNfd3Nwb2x0d29yY293ID0gaWZlbHNlKGRlY3l6amE9PVRSVUUsYXMuY2hhcmFjdGVyKFgyNDUpLHBhc3RlKFgyNDUsb3Bpc19kdXp5LHNlcCA9ICIjIikpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9waXNfZHV6eSx6YV9vcGlzX3dzcG9sdHdvcmNvdykgJT4lDQogIGNTcGxpdCguLCJ6YV9vcGlzX3dzcG9sdHdvcmNvdyIsc2VwID0gIiMiLGRpcmVjdGlvbiA9ICJ3aWRlIikgJT4lDQogIG11dGF0ZSh6YV9vcGlzX3dzcG9sdHdvcmNvd18yID0gaWZlbHNlKGlzLm5hKHphX29waXNfd3Nwb2x0d29yY293XzIpLCcnLGFzLmNoYXJhY3Rlcih6YV9vcGlzX3dzcG9sdHdvcmNvd18yKSksDQogICAgICAgICB0b19zYW1vID0gemFfb3Bpc193c3BvbHR3b3Jjb3dfMT09emFfb3Bpc193c3BvbHR3b3Jjb3dfMikgJT4lDQogIGZpbHRlcih0b19zYW1vPT1GQUxTRSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKHphX29waXNfd3Nwb2x0d29yY293ID0gcGFzdGUoemFfb3Bpc193c3BvbHR3b3Jjb3dfMSx6YV9vcGlzX3dzcG9sdHdvcmNvd18yLHNlcCA9ICIjIiksDQogICAgICAgICB6YV9vcGlzX3dzcG9sdHdvcmNvdyA9IHN0cl9yZW1vdmVfYWxsKHphX29waXNfd3Nwb2x0d29yY293LCJcXCMkIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksemFfb3Bpc193c3BvbHR3b3Jjb3cpDQoNCm9waXNfd3Nwb2x0d29yY293IDwtIG9waXNfd3Nwb2x0d29yY293ICU+JQ0KICBmaWx0ZXIoWkFfVVdBR0kgJW5vdGluJSB6YV9vcGlzX3dzcG9sdHdvcmNvdyRaQV9VV0FHSSkgJT4lDQogIGZpbHRlcighaXMubmEob3BpcykpICU+JQ0KICByZW5hbWUoemFfb3Bpc193c3BvbHR3b3Jjb3cgPSBvcGlzKQ0KDQp6YV9vcGlzX3dzcG9sdHdvcmNvdyA8LSB6YV9vcGlzX3dzcG9sdHdvcmNvdyAlPiUNCiAgYmluZF9yb3dzKC4sb3Bpc193c3BvbHR3b3Jjb3cpICU+JQ0KICByaWdodF9qb2luKC4sZGF0YSAlPiUgc2VsZWN0KFpBX1VXQUdJKSxieT0iWkFfVVdBR0kiKQ0KDQojOCB3eWRhbmllDQptYXJjX2ZpZWxkXzI1MCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI1MCklPiUNCiAgZmlsdGVyKFgyNTAhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNTA9c3RyX3JlcGxhY2VfYWxsKFgyNTAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI1MCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjUwIT0iIikgJT4lDQogIG11dGF0ZShYMjUwPXN0cl9yZW1vdmVfYWxsKFgyNTAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI1MCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNTAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNTApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjUwPC1jYmluZChtYXJjX2ZpZWxkXzI1MCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI1MCRYMjUwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjUwJFgyNTAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjUwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjUwJFgyNTApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI1MCRYMjUwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCnphX3d5ZGFuaWUgPC0gbWFyY19maWVsZF8yNTAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgd3lkYW5pZSA9IGAkYWApICU+JQ0KICBtdXRhdGUod3lkYW5pZSA9IHN0cl9yZW1vdmUod3lkYW5pZSwiIFxcLyQiKSkgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiM5OiBpbnN0eXR1Y2phIHNwcmF3Y3phDQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KemFfaW5zdHl0dWNqYSA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDVjPWAkY2ApICU+JQ0KICBmaWx0ZXIoIWlzLm5hKFgyNDVjKSkgJT4lDQogIG11dGF0ZShpbnN0eXR1Y2phID0gaWZlbHNlKGdyZXBsKCJcXDsiLFgyNDVjKSxzdHJfcmVwbGFjZV9hbGwoWDI0NWMsICIoLio/KShcXDsoPyEuKlxcOykpKCApKyguKj8kKSIsIlxcNCIpLCIiKSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhLGJ5PSJaQV9VV0FHSSIpDQoNCnggPC0gMTpsZW5ndGhzKHphX2luc3R5dHVjamFbMV0pDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICB6YV9pbnN0eXR1Y2phJGN6eV9uYXp3aXNrb1tpXSA8LSBncmVwbCh6YV9pbnN0eXR1Y2phJE9TX05BWldJU0tPW2ldLHphX2luc3R5dHVjamEkWDI0NWNbaV0pDQogIHphX2luc3R5dHVjamEkY3p5X2ltaWVbaV0gPC0gZ3JlcGwoemFfaW5zdHl0dWNqYSRPU19JTUlFW2ldLHphX2luc3R5dHVjamEkWDI0NWNbaV0pDQp9DQoNCnphX2luc3R5dHVjamEgPC0gemFfaW5zdHl0dWNqYSAlPiUNCiAgZmlsdGVyKGlzLm5hKGN6eV9uYXp3aXNrbykmaXMubmEoY3p5X2ltaWUpKSAlPiUNCiAgZmlsdGVyKGluc3R5dHVjamEhPSIiKSAlPiUNCiAgZmlsdGVyKCFncmVwbCgiXlxcW1thLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XXxeW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dIixpbnN0eXR1Y2phKSkgJT4lDQogIG11dGF0ZShpbnN0eXR1Y2phID0gc3RyX3JlbW92ZShpbnN0eXR1Y2phLCJcXC4kIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksaW5zdHl0dWNqYSkgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiMxMDogd3lkYXduaWN0d28NCkJOX3d5ZGF3bmljdHdvIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgWDI2MCkgJT4lDQogIG11dGF0ZShYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsInNcXC5uXFwuIiwgImIudy4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsInNcXC5sXFwuIiwgImIubS4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsIlNcXC5sXFwuIiwgImIubS4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlbW92ZShYMjYwLCJeXFxcXCsiKSwgDQogICAgICAgICByb2tfd3lkYW5pYSA9IHN0cl9leHRyYWN0X2FsbChYMjYwLCAiKD88PVxcJGMpLiooPz1cXCRlKXwoPzw9XFwkYykuKiIpLCANCiAgICAgICAgIGJlel9yb2t1ID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsICIuXFwkYy4qIiwgIiIpLCANCiAgICAgICAgIGlsZV93eWRhd25pY3R3ID0gc3RyX2NvdW50KGJlel9yb2t1LCAiXFwkYiIpLA0KICAgICAgICAgaWxlX21pZWpzYyA9IHN0cl9jb3VudChiZXpfcm9rdSwgIlxcJGEiKSwNCiAgICAgICAgIGtvbGVqbm9zYyA9IHN0cl9yZXBsYWNlX2FsbChhcy5jaGFyYWN0ZXIoc3RyX2V4dHJhY3RfYWxsKGJlel9yb2t1LCAiXFwkLiIpKSwgIlteYS16XSIsICIiKSwNCiAgICAgICAgIGJlel9yb2t1ID0gc3RyX3JlcGxhY2VfYWxsKGJlel9yb2t1LCAiO1xcJGIiLCAiOiRiIiksDQogICAgICAgICB3eWRhd19wb2R6aWVsID0gaWZlbHNlKGlsZV93eWRhd25pY3R3PmlsZV9taWVqc2N8a29sZWpub3NjPT0iY2FhYmIiLCBzdHJfcmVwbGFjZV9hbGwoYmV6X3Jva3UsICIoXFwkYSkoLio/KSggOlxcJGIuKj8pKCA6XFwkYikiLCAiXFwxXFwyXFwzIDskYVxcMlxcNCIpLGJlel9yb2t1KSwNCiAgICAgICAgIHd5ZGF3bmljdHdvX3Rlc3QgPSBzdHJfcmVwbGFjZV9hbGwod3lkYXdfcG9kemllbCwgIihcXCRiKSguKj8pKCA7XFwkYSkiLCAiXFwxXFwyfFxcMyIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHJva193eWRhbmlhLHd5ZGF3bmljdHdvX3Rlc3QpICU+JQ0KICBjU3BsaXQoLiwgInd5ZGF3bmljdHdvX3Rlc3QiLCBzZXAgPSAifCIsIGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIG11dGF0ZSh3eWRhd25pY3R3byA9IHN0cl9leHRyYWN0X2FsbCh3eWRhd25pY3R3b190ZXN0LCAiKD88PVxcJGIpKC4qKSIpLA0KICAgICAgICAgbWllanNjZV93eWRhbmlhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl9leHRyYWN0X2FsbCh3eWRhd25pY3R3b190ZXN0LCAiKD88PVxcJGEpKC4qKSg/PSB7MCwxfTogezAsMX1cXCRiKXwoPzw9XFwkYSkoLiopKCQpIiksIiA7XFwkYSIsICIsICIpLA0KICAgICAgICAgbmF6d2FfcHJvc3RhID0gc3RyX3RvX2xvd2VyKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVwbGFjZV9hbGwodW5saXN0KHd5ZGF3bmljdHdvX3Rlc3QpLCAiXFwkXFx3IiwgIiIpLCAiXFxXIiwgIiIpKSkgJT4lDQogIGxlZnRfam9pbiguLFBCTF93eWRhd25pY3R3YSxieT0ibmF6d2FfcHJvc3RhIikgJT4lDQogIG11dGF0ZSh0b19zYW1vID0gd3lkYXduaWN0d289PVdZX05BWldBKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSwtdG9fc2FtbywtV1lfTElDWkJBX1pBUElTT1cpDQpCTl93eWRhd25pY3R3byRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoQk5fd3lkYXduaWN0d29bMTozXSkpDQpCTl93eWRhd25pY3R3byA8LSBCTl93eWRhd25pY3R3b1shZHVwbGljYXRlZChCTl93eWRhd25pY3R3byRpZF9ncnVweSksXSAlPiUNCiAgbXV0YXRlKFdZX05BWldBID0gaWZlbHNlKCFpcy5uYShXWV9OQVpXQSksYXMuY2hhcmFjdGVyKFdZX05BWldBKSxhcy5jaGFyYWN0ZXIod3lkYXduaWN0d28pKSwNCiAgICAgICAgIFdZX01JQVNUTyA9IGlmZWxzZSghaXMubmEoV1lfTUlBU1RPKSxhcy5jaGFyYWN0ZXIoV1lfTUlBU1RPKSx0cmltKGFzLmNoYXJhY3RlcihtaWVqc2NlX3d5ZGFuaWEpKSksDQogICAgICAgICByb2tfd3lkYW5pYSA9IHN0cl9yZXBsYWNlX2FsbChyb2tfd3lkYW5pYSwgIiguKikoXFwuKSIsICJcXDEiKSwNCiAgICAgICAgIHphX3Jva193eWRhbmlhID0gaWZlbHNlKG5jaGFyKHJva193eWRhbmlhKT09NCxhcy5jaGFyYWN0ZXIocm9rX3d5ZGFuaWEpLE5BKSwNCiAgICAgICAgIGRvX29waXN1ID0gaWZlbHNlKGlzLm5hKHphX3Jva193eWRhbmlhKSxwYXN0ZSgiWyIsc3RyX2V4dHJhY3Qocm9rX3d5ZGFuaWEsIlxcZHs0fSIpLCJdIixzZXAgPSAiIiksIiIpLA0KICAgICAgICAgV1lfTUlBU1RPID0gaWZlbHNlKHN1YnN0cihXWV9NSUFTVE8sMSwxKT09IlsiJnN1YnN0cihXWV9NSUFTVE8sbmNoYXIoV1lfTUlBU1RPKSxuY2hhcihXWV9NSUFTVE8pKSE9Il0iJmlzLm5hKFdZX1dZREFXTklDVFdPX0lEKSxwYXN0ZSh0cmltKFdZX01JQVNUTyksIl0iLHNlcCA9ICIiKSxhcy5jaGFyYWN0ZXIoV1lfTUlBU1RPKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksV1lfV1lEQVdOSUNUV09fSUQsV1lfTkFaV0EsV1lfTUlBU1RPLHphX3Jva193eWRhbmlhLGRvX29waXN1KSAlPiUgDQogIG11dGF0ZShXWV9OQVpXQSA9IGlmZWxzZShzdHJfY291bnQoV1lfTkFaV0EsICJcXFsiKT5zdHJfY291bnQoV1lfTkFaV0EsICJcXF0iKSwgcGFzdGUoV1lfTkFaV0EsICJdIiwgc2VwID0gIiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHN0cl9jb3VudChXWV9OQVpXQSwgIlxcWyIpPHN0cl9jb3VudChXWV9OQVpXQSwgIlxcXSIpLCBwYXN0ZSgiWyIsIFdZX05BWldBLCBzZXAgPSAiIiksIGFzLmNoYXJhY3RlcihXWV9OQVpXQSkpKSwNCiAgICAgICAgIFdZX01JQVNUTyA9IGlmZWxzZShzdHJfY291bnQoV1lfTUlBU1RPLCAiXFxbIik+c3RyX2NvdW50KFdZX01JQVNUTywgIlxcXSIpLCBwYXN0ZShXWV9NSUFTVE8sICJdIiwgc2VwID0gIiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHN0cl9jb3VudChXWV9NSUFTVE8sICJcXFsiKTxzdHJfY291bnQoV1lfTUlBU1RPLCAiXFxdIiksIHBhc3RlKCJbIiwgV1lfTUlBU1RPLCBzZXAgPSAiIiksIGFzLmNoYXJhY3RlcihXWV9NSUFTVE8pKSkpDQoNCiMxMTogb3BpcyBmaXp5Y3pueSBrc2nEhcW8a2kNCiNwb2xlIDMwMCBkbyBvcGlzdSBmaXp5Y3puZWdvDQptYXJjX2ZpZWxkXzMwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDMwMCklPiUNCiAgZmlsdGVyKFgzMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgzMDA9c3RyX3JlcGxhY2VfYWxsKFgzMDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDMwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMzAwIT0iIikgJT4lDQogIG11dGF0ZShYMzAwPXN0cl9yZW1vdmVfYWxsKFgzMDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDMwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgzMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8zMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMzAwPC1jYmluZChtYXJjX2ZpZWxkXzMwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzMwMCRYMzAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMzAwJFgzMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMzAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMzAwJFgzMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzMwMCRYMzAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzMwMCA8LSBtYXJjX2ZpZWxkXzMwMCAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIiBcXDsrJHwgXFw6KyQiKSwNCiAgICAgICAgIGAkYmAgPSBzdHJfcmVtb3ZlKGAkYmAsIiBcXDsrJHwgXFw6KyQiKSwNCiAgICAgICAgIGAkZWAgPSBpZmVsc2UoZ3JlcGwoIkNELVJPTXxEVkR8VkNEfENEIixgJGVgKSZncmVwbCgiXFwrIGR5c2t8cMWCeXQiLGAkZWApLHN0cl9leHRyYWN0KGAkZWAsIig/PD1cXCspKGR5c2t8cMWCeXQuKj8pKENELVJPTXxEVkR8VkNEfENEKShcXCkpezAsMX0iKSwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJDRC1ST018RFZEfFZDRHxDRCIsYCRlYCksc3RyX2V4dHJhY3QoYCRlYCwiKF4uKj8pKENELVJPTXxEVkR8VkNEfENEKShcXCkpezAsMX0iKSxOQSkpLA0KICAgICAgICAgYCRhYCA9IGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLA0KICAgICAgICAgYCRiYCA9IGlmZWxzZShpcy5uYShgJGJgKSwiIixhcy5jaGFyYWN0ZXIoYCRiYCkpLA0KICAgICAgICAgYCRlYCA9IGlmZWxzZShpcy5uYShgJGVgKSwiIixhcy5jaGFyYWN0ZXIoYCRlYCkpKQ0KI3BvbGUgNTAwIGRvIG9waXN1IGZpenljem5lZ28NCm1hcmNfZmllbGRfNTAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTAwKSU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVwbGFjZV9hbGwoWDUwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNTAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg1MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg1MDA9c3RyX3JlbW92ZV9hbGwoWDUwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNTAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDUwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzUwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF81MDA8LWNiaW5kKG1hcmNfZmllbGRfNTAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNTAwJFg1MDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF81MDAkWDUwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF81MDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF81MDAkWDUwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNTAwJFg1MDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfNTAwIDwtIG1hcmNfZmllbGRfNTAwICU+JQ0KICBtdXRhdGUoYCRhYCA9IGlmZWxzZShncmVwbCgib3J5ZyhcXC58XFwsKSIsWDUwMCkmZ3JlcGwoInBzZXVkfG5hendhIixYNTAwLGlnbm9yZS5jYXNlID0gVFJVRSksc3RyX3JlcGxhY2UoYCRhYCwiKF4uKj8pKFxcLiApKFxccHtMdX0uKiQpIiwiXFwzIiksYXMuY2hhcmFjdGVyKGAkYWApKSkgJT4lIA0KICBmaWx0ZXIoIWdyZXBsKCJvcnlnKFxcLnxcXCwpIixgJGFgKSZncmVwbCgicHNldWR8bmF6d2F8ZG90eWN6fHBvbCIsYCRhYCxpZ25vcmUuY2FzZSA9IFRSVUUpKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIiBcXDsrJHwgXFw6KyQiKSkNCiAgDQojcG9sZSA1NDYgZG8gb3Bpc3UgZml6eWN6bmVnbw0KbWFyY19maWVsZF81NDYgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1NDYpJT4lDQogIGZpbHRlcihYNTQ2IT0iIikgJT4lDQogIG11dGF0ZShYNTQ2PXN0cl9yZXBsYWNlX2FsbChYNTQ2LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg1NDYiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDU0NiE9IiIpICU+JQ0KICBtdXRhdGUoWDU0Nj1zdHJfcmVtb3ZlX2FsbChYNTQ2LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg1NDYsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNTQ2LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNTQ2KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzU0NjwtY2JpbmQobWFyY19maWVsZF81NDYsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF81NDYkWDU0NiA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzU0NiRYNTQ2LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzU0NlssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzU0NiRYNTQ2KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF81NDYkWDU0NiksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF81NDYgPC0gbWFyY19maWVsZF81NDYgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIikpDQoNCnphX29waXNfa3MgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3lkYXduaWN0d28gJT4lIHNlbGVjdChaQV9VV0FHSSxkb19vcGlzdSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMzAwICU+JSBzZWxlY3QoWkFfVVdBR0ksWDMwMGE9YCRhYCxYMzAwYj1gJGJgLFgzMDBlPWAkZWApLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzUwMCAlPiUgc2VsZWN0KFpBX1VXQUdJLFg1MDBhPWAkYWApLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzU0NiAlPiUgc2VsZWN0KFpBX1VXQUdJLFg1NDZhPWAkYWApLGJ5PSJaQV9VV0FHSSIpDQp6YV9vcGlzX2tzW2lzLm5hKHphX29waXNfa3MpXSAgPC0gIiINCnphX29waXNfa3MgPC0gemFfb3Bpc19rcyAlPiUNCiAgbXV0YXRlKHphX29waXNfa3MgPSBwYXN0ZShpZmVsc2UoZG9fb3Bpc3UhPSIiLHBhc3RlKGFzLmNoYXJhY3Rlcihkb19vcGlzdSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYMzAwYSE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFgzMDBhKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFgzMDBiIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDMwMGIpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDMwMGUhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYMzAwZSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYNTAwYSE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFg1MDBhKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFg1NDZhIT0iIixhcy5jaGFyYWN0ZXIoWDU0NmEpLCIiKSxzZXAgPSAiIiksDQogICAgICAgICB6YV9vcGlzX2tzID0gc3RyX3JlbW92ZSh6YV9vcGlzX2tzLCIoLCApKyQiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSx6YV9vcGlzX2tzKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksLW5jaGFyKHphX29waXNfa3MpKQ0KemFfb3Bpc19rcyRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoemFfb3Bpc19rc1sxXSkpDQp6YV9vcGlzX2tzIDwtIHphX29waXNfa3NbIWR1cGxpY2F0ZWQoemFfb3Bpc19rcyRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KC1pZF9ncnVweSkNCg0KIzEyOiBzZXJpYSB3eWRhd25pY3phDQptYXJjX2ZpZWxkXzQ5MCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDQ5MCxYODAwLFg4MzApICU+JQ0KICBtdXRhdGUoWDQ5MCA9IGlmZWxzZShncmVwbCgiVVxcKyIsWDQ5MCksYXMuY2hhcmFjdGVyKFg4MzApLGFzLmNoYXJhY3RlcihYNDkwKSkpICU+JQ0KICBtdXRhdGUoWDgwMCA9IGlmZWxzZShYNDkwIT0iIiwiIixhcy5jaGFyYWN0ZXIoWDgwMCkpLA0KICAgICAgICAgWDgzMCA9IGlmZWxzZShYNDkwIT0iIiwiIixhcy5jaGFyYWN0ZXIoWDgzMCkpLA0KICAgICAgICAgWDgwMCA9IHN0cl9yZXBsYWNlKFg4MDAsIihcXCRhKSguKikoXFwkdCkiLCJcXDEiKSwNCiAgICAgICAgIFg0OTAgPSBpZmVsc2UoWDQ5MD09IiImWDgzMCE9IiIsYXMuY2hhcmFjdGVyKFg4MzApLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoWDQ5MD09IiImWDgwMCE9IiIsYXMuY2hhcmFjdGVyKFg4MDApLGFzLmNoYXJhY3RlcihYNDkwKSkpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg0OTApICU+JQ0KICBmaWx0ZXIoWDQ5MCE9IiIpICU+JQ0KICBtdXRhdGUoWDQ5MD1zdHJfcmVwbGFjZV9hbGwoWDQ5MCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNDkwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg0OTAhPSIiKSAlPiUNCiAgbXV0YXRlKFg0OTA9c3RyX3JlbW92ZV9hbGwoWDQ5MCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNDkwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDQ5MCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzQ5MClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF80OTA8LWNiaW5kKG1hcmNfZmllbGRfNDkwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNDkwJFg0OTAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF80OTAkWDQ5MCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF80OTBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF80OTAkWDQ5MCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNDkwJFg0OTApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCnphX3NlcmlhX3d5ZGF3bmljemEgPC0gbWFyY19maWVsZF80OTAgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlcGxhY2VfYWxsKGAkYWAsIig9KShcXCRhKSIsIlxcMSAiKSwNCiAgICAgICAgIGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIiBcXDsrJHwgXFw6KyQiKSwNCiAgICAgICAgIGAkdmAgPSBpZmVsc2UoaXMubmEoYCR2YCksIiIsYXMuY2hhcmFjdGVyKGAkdmApKSkgJT4lDQogIGZpbHRlcighaXMubmEoYCRhYCkpICU+JQ0KICBtdXRhdGUoc2VyaWEgPSBzdHJfcmVtb3ZlKHBhc3RlKCIoIixgJGFgLCI7ICIsYCR2YCwiKSIsc2VwID0gIiIpLCI7ICg/PVxcKSQpIiksDQogICAgICAgICBzZXJpYSA9IGdzdWIoIiggOiApKC4pIiwiLiBcXFVcXDIiLHBlcmw9VFJVRSxzZXJpYSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksc2VyaWEpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShzZXJpYSA9IHBhc3RlKHNlcmlhLGNvbGxhcHNlID0gIiAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShzZXJpYSA9IHN0cl9yZXBsYWNlX2FsbChzZXJpYSwiXFwkLiIsIjsgIikpICU+JQ0KICByaWdodF9qb2luKC4sZGF0YSAlPiUgc2VsZWN0KFpBX1VXQUdJKSxieT0iWkFfVVdBR0kiKQ0KDQojMTM6IHRvbXkNCnphX3RvbXkgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKHphX3RvbXkgPSBOQSkNCg0KIzE0OiBhZG5vdGFjamUNCnphX2Fkbm90YWNqZSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl9hdXRvciAlPiUgc2VsZWN0KFpBX1VXQUdJLFpBX0FETk9UQUNKRSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhICU+JSBzZWxlY3QoWkFfVVdBR0ksWkFfQUROT1RBQ0pFKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKFpBX0FETk9UQUNKRSA9IHBhc3RlKGlmZWxzZShpcy5uYShaQV9BRE5PVEFDSkUueCksIiIscGFzdGUoYXMuY2hhcmFjdGVyKFpBX0FETk9UQUNKRS54KSwiIyAiLHNlcCA9ICIiKSksaWZlbHNlKGlzLm5hKFpBX0FETk9UQUNKRS55KSwiIixhcy5jaGFyYWN0ZXIoWkFfQUROT1RBQ0pFLnkpKSxzZXAgPSAiIiksDQogICAgICAgICBaQV9BRE5PVEFDSkUgPSBzdHJfcmVtb3ZlKFpBX0FETk9UQUNKRSwiKCMgKSskIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfQUROT1RBQ0pFKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksLW5jaGFyKFpBX0FETk9UQUNKRSkpDQp6YV9hZG5vdGFjamUkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKHphX2Fkbm90YWNqZVsxXSkpDQp6YV9hZG5vdGFjamUgPC0gemFfYWRub3RhY2plWyFkdXBsaWNhdGVkKHphX2Fkbm90YWNqZSRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KC1pZF9ncnVweSkNCg0KIzE1OiBCTl9VUkwNCkJOX1VSTCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksQk5fVVJMKQ0KDQojd3lyw7N3bmFuaWUgbGljemJ5IHdpZXJzenkgZG8gbGljemJ5IHdpZXJzenkgb2JpZWt0dSBkYXRhDQpCTl9hdXRvciA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl9hdXRvciAlPiUgc2VsZWN0KFpBX1VXQUdJLEFNX0FVVE9SX0lELEFNX05BWldJU0tPLEFNX0lNSUUpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBkZHBseSguLCAuKFpBX1VXQUdJKSwgc3VtbWFyaXplLCBBTV9BVVRPUl9JRCA9IHBhc3RlKEFNX0FVVE9SX0lELCBjb2xsYXBzZT0ifCIpLCBBTV9OQVpXSVNLTyA9IHBhc3RlKEFNX05BWldJU0tPLCBjb2xsYXBzZT0ifCIpLCBBTV9JTUlFID0gcGFzdGUoQU1fSU1JRSwgY29sbGFwc2U9InwiKSkNCkJOX3dzcG9sdHdvcmNhIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhICU+JSBzZWxlY3QoWkFfVVdBR0ksT1NfT1NPQkFfSUQsT1NfTkFaV0lTS08sT1NfSU1JRSxmb19zeW1ib2wpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBkZHBseSguLCAuKFpBX1VXQUdJKSwgc3VtbWFyaXplLCBPU19PU09CQV9JRCA9IHBhc3RlKE9TX09TT0JBX0lELCBjb2xsYXBzZT0ifCIpLCBPU19OQVpXSVNLTyA9IHBhc3RlKE9TX05BWldJU0tPLCBjb2xsYXBzZT0ifCIpLCBPU19JTUlFID0gcGFzdGUoT1NfSU1JRSwgY29sbGFwc2U9InwiKSwgZm9fc3ltYm9sID0gcGFzdGUoZm9fc3ltYm9sLCBjb2xsYXBzZT0ifCIpKSAlPiUNCiAgbXV0YXRlKGZvX3N5bWJvbCA9IGlmZWxzZShmb19zeW1ib2w9PSJOVUxMIiwiTkEiLGFzLmNoYXJhY3Rlcihmb19zeW1ib2wpKSkNCkJOX3d5ZGF3bmljdHdvIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3d5ZGF3bmljdHdvICU+JSBzZWxlY3QoWkFfVVdBR0ksV1lfV1lEQVdOSUNUV09fSUQsV1lfTkFaV0EsV1lfTUlBU1RPLHphX3Jva193eWRhbmlhKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgV1lfV1lEQVdOSUNUV09fSUQgPSBwYXN0ZShXWV9XWURBV05JQ1RXT19JRCwgY29sbGFwc2U9InwiKSwgV1lfTkFaV0EgPSBwYXN0ZShXWV9OQVpXQSwgY29sbGFwc2U9InwiKSwgV1lfTUlBU1RPID0gcGFzdGUoV1lfTUlBU1RPLCBjb2xsYXBzZT0ifCIpLCB6YV9yb2tfd3lkYW5pYSA9IHBhc3RlKHVuaXF1ZSh6YV9yb2tfd3lkYW5pYSksIGNvbGxhcHNlPSJ8IikpICU+JQ0KICBtdXRhdGUoemFfcm9rX3d5ZGFuaWEgPSBpZmVsc2UoemFfcm9rX3d5ZGFuaWE9PSJOQSIsIiIsYXMuaW50ZWdlcih6YV9yb2tfd3lkYW5pYSkpKQ0KDQojcG/FgsSFY3plbmllIHdzenlzdGtpY2ggZWxlbWVudMOzdyB3IGplZG7EhSB0YWJlbMSZDQprb2xlam5vc2MgPC0gZGF0YS5mcmFtZShrb2xlam5vc2M9YygiWkFfVVdBR0kiLCJSWl9OQVpXQSIsIlpBX1JPX1JPSyIsIlpBX1RZUEUiLCJSWl9ST0RaQUpfSUQiLCJEWl9OQVpXQSIsIkRaX0RaSUFMX0lEIiwiVFdfVFdPUkNBX0lEIiwiQU1fQVVUT1JfSUQiLCJBTV9OQVpXSVNLTyIsIkFNX0lNSUUiLCJaQV9UWVRVTCIsIlpBX1RZVFVMX09SWUdJTkFMVSIsIlpBX0pFWllLX09SWUdJTkFMVSIsIk9TX09TT0JBX0lEIiwiT1NfTkFaV0lTS08iLCJPU19JTUlFIiwiZm9fc3ltYm9sIiwiemFfb3Bpc193c3BvbHR3b3Jjb3ciLCJ3eWRhbmllIiwiemFfdG9teSIsImluc3R5dHVjamEiLCJXWV9XWURBV05JQ1RXT19JRCIsIldZX01JQVNUTyIsIldZX05BWldBIiwiemFfcm9rX3d5ZGFuaWEiLCJ6YV9vcGlzX2tzIiwic2VyaWEiLCJUV19OQVpXSVNLTyIsIlRXX0lNSUUiLCJyZWRha3Rvcl9kemlhbHUiLCJaQV9BRE5PVEFDSkUiLCJCTl9VUkwiKSkNCnBvbGFjem9uZSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixwb2xhX3BibCxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl9hdXRvcixieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV90eXR1bCxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV90eXR1bF9vcnlnaW5hbHUsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfamV6eWtfb3J5Z2luYWx1LGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX29waXNfd3Nwb2x0d29yY293LGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX3d5ZGFuaWUsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfaW5zdHl0dWNqYSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93eWRhd25pY3R3byxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9vcGlzX2tzLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX3NlcmlhX3d5ZGF3bmljemEsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdG9teSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9hZG5vdGFjamUsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fVVJMLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIHNlbGVjdChhcy52ZWN0b3Ioa29sZWpub3NjJGtvbGVqbm9zYykpDQpjb2xuYW1lcyhwb2xhY3pvbmUpIDwtIGMoInJla29yZF9CTiIsInJ6X25hendhIiwiemFfcm9fcm9rIiwiemFfdHlwZSIsInJ6X3JvZHphal9pZCIsIkRaX05BWldBIiwiRFpfRFpJQUxfSUQiLCJ0d190d29yY2FfaWQiLCJhbV9hdXRvcl9pZCIsImFtX25hendpc2tvIiwiYW1faW1pZSIsInphX3R5dHVsIiwiemFfdHl0dWxfb3J5Z2luYWx1IiwiemFfamV6eWtfb3J5Z2luYWx1Iiwib3Nfb3NvYmFfaWQiLCJvc19uYXp3aXNrbyIsIm9zX2ltaWUiLCJmb19zeW1ib2wiLCJ6YV9vcGlzX3dzcG9sdHdvcmNvdyIsInphX3d5ZGFuaWUiLCJ6YV90b215IiwiemFfaW5zdHl0dWNqYSIsInd5X3d5ZGF3bmljdHdvX2lkIiwid3lfbWllanNjZSIsInd5X25hendhIiwiemFfcm9rX3d5ZGFuaWEiLCJ6YV9vcGlzX2Zpenljem55X2tzaWF6a2kiLCJ6YV9zZXJpYV93eWRhd25pY3phIiwidHdfbmF6d2lza28iLCJ0d19pbWllIiwicHJhY293bmlrIiwiemFfYWRub3RhY2plIiwiQk5fVVJMIikNCg0KI3phc3lnbmFsaXpvd2FuaWUgbmllcG9wcmF3bmVnbyBrb2Rvd2FuaWENCnggPC0gMToobGVuZ3RoKHBvbGFjem9uZSktMikNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgcG9sYWN6b25lJHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoZ3JlcGwoIjxVXFwrKC4uLi4pPiIscG9sYWN6b25lWyxpXSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShuY2hhcihwb2xhY3pvbmUkemFfYWRub3RhY2plKSE9MCxwYXN0ZShwb2xhY3pvbmUkemFfYWRub3RhY2plLHBhc3RlKCJVV0FHQSEgQsWCxIVkIGtvZG93YW5pYSB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiBabmFqZMW6IGZyYXrEmSBcIj8/P1wiIGkgenJlZGFndWogcG9sZS4iLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUuIixzZXAgPSAiIikpLGFzLmNoYXJhY3Rlcihwb2xhY3pvbmUkemFfYWRub3RhY2plKSkNCiAgcG9sYWN6b25lWyxpXSA8LSBnc3ViKCI8VVxcKyguLi4uKT4iLCAiPz8/IiwgcG9sYWN6b25lWyxpXSkNCn0NCiN6YXN5Z25hbGl6b3dhbmllIG9iZWNub8WbY2kgem5ha3UgJCB3IGt0w7NyeW3FmyB6IHDDs2wNClggPC0gMToobGVuZ3RoKHBvbGFjem9uZSktMikNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgcG9sYWN6b25lJHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoZ3JlcGwoIlxcJCIscG9sYWN6b25lWyxpXSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShuY2hhcihwb2xhY3pvbmUkemFfYWRub3RhY2plKT09MCxwYXN0ZSgiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGLFgsSZZG55IHphcGlzIEJOIHcgcG9sdSAiLGFzLmNoYXJhY3RlcihuYW1lcyhwb2xhY3pvbmVbaV0pKSwiIHd5ZHJ1a293YW5vIHpuYWsgXCIkXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxwYXN0ZShwb2xhY3pvbmUkemFfYWRub3RhY2plLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gem5hayBcIiRcIi4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHNlcCA9ICIjICIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQp9DQojemFzeWduYWxpem93YW5pZSBvYmVjbm/Fm2NpIGZyYXp5ICJjaGFyYWN0ZXIoMCkiIHcga3TDs3J5bcWbIHogcMOzbA0KWCA8LSAxOihsZW5ndGgocG9sYWN6b25lKS0yKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBwb2xhY3pvbmUkemFfYWRub3RhY2plIDwtIGlmZWxzZShncmVwbCgiY2hhcmFjdGVyXFwoMFxcKSIscG9sYWN6b25lWyxpXSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShuY2hhcihwb2xhY3pvbmUkemFfYWRub3RhY2plKT09MCxwYXN0ZSgiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGLFgsSZZG55IHphcGlzIEJOIHcgcG9sdSAiLGFzLmNoYXJhY3RlcihuYW1lcyhwb2xhY3pvbmVbaV0pKSwiIHd5ZHJ1a293YW5vIGZyYXrEmSBcImNoYXJhY3RlcigwKVwiLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIikscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGLFgsSZZG55IHphcGlzIEJOIHcgcG9sdSAiLGFzLmNoYXJhY3RlcihuYW1lcyhwb2xhY3pvbmVbaV0pKSwiIHd5ZHJ1a293YW5vIGZyYXrEmSBcImNoYXJhY3RlcigwKVwiLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksc2VwID0gIiMgIikpLGFzLmNoYXJhY3Rlcihwb2xhY3pvbmUkemFfYWRub3RhY2plKSkNCn0NCiN6YXN5Z25hbGl6b3dhbmllIG9iZWNub8WbY2kgem5ha3UgIyB3IG9waXNpZSB3c3DDs8WCdHfDs3Jjw7N3DQpwb2xhY3pvbmUkemFfYWRub3RhY2plIDwtIGlmZWxzZShncmVwbCgiXFwjIixwb2xhY3pvbmUkemFfb3Bpc193c3BvbHR3b3Jjb3cpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSk9PTAsIlVXQUdBISBaZSB3emdsxJlkdSBuYSBrb25mbGlrdCB3IG9waXNpZSB3c3DDs8WCdHfDs3Jjw7N3IHd5Ymllcnogd8WCYcWbY2l3xIUgd2FydG/Fm8SHIChzdHJlZmEgb2Rwb3dpZWR6aWFsbm/Fm2NpIFwiI1wiIHdzcMOzxYJ0d8OzcmN5IHogcG9sYSA3MDApLiIscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSwiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGtvbmZsaWt0IHcgb3Bpc2llIHdzcMOzxYJ0d8OzcmPDs3cgd3liaWVyeiB3xYJhxZtjaXfEhSB3YXJ0b8WbxIcgKHN0cmVmYSBvZHBvd2llZHppYWxub8WbY2kgIyB3c3DDs8WCdHfDs3JjeSB6IHBvbGEgNzAwKS4iLHNlcCA9ICIjICIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQoja29yZWt0YSBhdXRvbWF0eWN6bmVnbyBJT0sNCmF1dG9tYXR5Y3pueV9JT0sgPC0gcG9sYWN6b25lICU+JQ0KICBtdXRhdGUoY3p5X3R5dF9vcnlnID0gKCFncmVwbCgicG9sc2siLERaX05BWldBKSYhaXMubmEoemFfdHl0dWxfb3J5Z2luYWx1KSl8Z3JlcGwoInBvbHNrIixEWl9OQVpXQSkpICU+JQ0KICBmaWx0ZXIoemFfYWRub3RhY2plPT0iIiZhbV9uYXp3aXNrbyE9Ik5BIiYhZ3JlcGwoInBzZXVkfG5henciLHphX29waXNfZml6eWN6bnlfa3NpYXpraSkmIWdyZXBsKCJcXHwiLGFtX25hendpc2tvKSZjenlfdHl0X29yeWc9PVRSVUUsDQogICAgICAgICAhZ3JlcGwoInN6a2ljfGZlbGlldG9ufGxpc3QiLHN0cl9yZXBsYWNlKHphX3R5dHVsLCIoLiopKFxcWy4qJCkiLCJcXDIiKSxpZ25vcmUuY2FzZSA9IFRSVUUpKSAlPiUNCiAgc2VsZWN0KHJla29yZF9CTikgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBmaWx0ZXIocmVrb3JkX0JOICVub3RpbiUgZGF0YSRaQV9VV0FHSVtkYXRhJGN6eV9hdXRvbWF0eWN6bmllPT0ibmllIl0pICU+JQ0KICBtdXRhdGUocG93aW5ub19ieWMgPSAiSU9LIikNCndyaXRlLmNzdjIoYXV0b21hdHljem55X0lPSywgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvaW1wXyIsaW1wb3J0X3llYXIsIl9hdXRvbWF0eWN6bmVfcG9kbWlvdG93ZS5jc3YiLHNlcCA9ICIiKSwgcm93Lm5hbWVzID0gRiwgbmEgPSAnJywgZmlsZUVuY29kaW5nID0gJ1VURi04JykNCg0Kb3V0IDwtIGNTcGxpdChwb2xhY3pvbmUsIGMoImFtX2F1dG9yX2lkIiwgImFtX25hendpc2tvIiwgImFtX2ltaWUiLCJvc19vc29iYV9pZCIsIm9zX25hendpc2tvIiwgIm9zX2ltaWUiLCAiZm9fc3ltYm9sIiwid3lfd3lkYXduaWN0d29faWQiLCJ3eV9taWVqc2NlIiwid3lfbmF6d2EiKSxzZXAgPSAifCIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgdW5pcXVlKCkNCg0Kb3V0JHJla29yZF9CTiA8LSBpZmVsc2UoaXMubmEob3V0JHJla29yZF9CTiksJycsYXMuY2hhcmFjdGVyKG91dCRyZWtvcmRfQk4pKQ0Kb3V0JHJ6X25hendhIDwtIGlmZWxzZShpcy5uYShvdXQkcnpfbmF6d2EpLCcnLGFzLmNoYXJhY3RlcihvdXQkcnpfbmF6d2EpKQ0Kb3V0JHphX3JvX3JvayA8LSBpZmVsc2UoaXMubmEob3V0JHphX3JvX3JvayksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9yb19yb2spKQ0Kb3V0JHphX3R5cGUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV90eXBlKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3R5cGUpKQ0Kb3V0JHJ6X3JvZHphal9pZCA8LSBpZmVsc2UoaXMubmEob3V0JHJ6X3JvZHphal9pZCksJycsYXMuY2hhcmFjdGVyKG91dCRyel9yb2R6YWpfaWQpKQ0Kb3V0JERaX05BWldBIDwtIGlmZWxzZShpcy5uYShvdXQkRFpfTkFaV0EpLCcnLGFzLmNoYXJhY3RlcihvdXQkRFpfTkFaV0EpKQ0Kb3V0JERaX0RaSUFMX0lEIDwtIGlmZWxzZShpcy5uYShvdXQkRFpfRFpJQUxfSUQpLCcnLGFzLmNoYXJhY3RlcihvdXQkRFpfRFpJQUxfSUQpKQ0Kb3V0JHR3X3R3b3JjYV9pZCA8LSBpZmVsc2UoaXMubmEob3V0JHR3X3R3b3JjYV9pZCksJycsYXMuY2hhcmFjdGVyKG91dCR0d190d29yY2FfaWQpKQ0Kb3V0JGFtX2F1dG9yX2lkIDwtIGlmZWxzZShpcy5uYShvdXQkYW1fYXV0b3JfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkYW1fYXV0b3JfaWQpKQ0Kb3V0JGFtX25hendpc2tvIDwtIGlmZWxzZShpcy5uYShvdXQkYW1fbmF6d2lza28pLCcnLGFzLmNoYXJhY3RlcihvdXQkYW1fbmF6d2lza28pKQ0Kb3V0JGFtX2ltaWUgPC0gaWZlbHNlKGlzLm5hKG91dCRhbV9pbWllKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGFtX2ltaWUpKQ0Kb3V0JHphX3R5dHVsIDwtIGlmZWxzZShpcy5uYShvdXQkemFfdHl0dWwpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfdHl0dWwpKQ0Kb3V0JHphX3R5dHVsX29yeWdpbmFsdSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3R5dHVsX29yeWdpbmFsdSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90eXR1bF9vcnlnaW5hbHUpKQ0Kb3V0JHphX2plenlrX29yeWdpbmFsdSA8LSBpZmVsc2UoaXMubmEob3V0JHphX2plenlrX29yeWdpbmFsdSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9qZXp5a19vcnlnaW5hbHUpKQ0Kb3V0JG9zX29zb2JhX2lkIDwtIGlmZWxzZShpcy5uYShvdXQkb3Nfb3NvYmFfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkb3Nfb3NvYmFfaWQpKQ0Kb3V0JG9zX25hendpc2tvIDwtIGlmZWxzZShpcy5uYShvdXQkb3NfbmF6d2lza28pLCcnLGFzLmNoYXJhY3RlcihvdXQkb3NfbmF6d2lza28pKQ0Kb3V0JG9zX2ltaWUgPC0gaWZlbHNlKGlzLm5hKG91dCRvc19pbWllKSwnJyxhcy5jaGFyYWN0ZXIob3V0JG9zX2ltaWUpKQ0Kb3V0JGZvX3N5bWJvbCA8LSBpZmVsc2UoaXMubmEob3V0JGZvX3N5bWJvbCksJycsYXMuY2hhcmFjdGVyKG91dCRmb19zeW1ib2wpKQ0Kb3V0JHphX29waXNfd3Nwb2x0d29yY293IDwtIGlmZWxzZShpcy5uYShvdXQkemFfb3Bpc193c3BvbHR3b3Jjb3cpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfb3Bpc193c3BvbHR3b3Jjb3cpKQ0Kb3V0JHphX3d5ZGFuaWUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV93eWRhbmllKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3d5ZGFuaWUpKQ0Kb3V0JHphX3RvbXkgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV90b215KSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3RvbXkpKQ0Kb3V0JHphX2luc3R5dHVjamEgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9pbnN0eXR1Y2phKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX2luc3R5dHVjamEpKQ0Kb3V0JHd5X3d5ZGF3bmljdHdvX2lkIDwtIGlmZWxzZShpcy5uYShvdXQkd3lfd3lkYXduaWN0d29faWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkd3lfd3lkYXduaWN0d29faWQpKQ0Kb3V0JHd5X21pZWpzY2UgPC0gaWZlbHNlKGlzLm5hKG91dCR3eV9taWVqc2NlKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHd5X21pZWpzY2UpKQ0Kb3V0JHd5X25hendhIDwtIGlmZWxzZShpcy5uYShvdXQkd3lfbmF6d2EpLCcnLGFzLmNoYXJhY3RlcihvdXQkd3lfbmF6d2EpKQ0Kb3V0JHphX3Jva193eWRhbmlhIDwtIGlmZWxzZShpcy5uYShvdXQkemFfcm9rX3d5ZGFuaWEpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfcm9rX3d5ZGFuaWEpKQ0Kb3V0JHphX29waXNfZml6eWN6bnlfa3NpYXpraSA8LSBpZmVsc2UoaXMubmEob3V0JHphX29waXNfZml6eWN6bnlfa3NpYXpraSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2kpKQ0Kb3V0JHphX3NlcmlhX3d5ZGF3bmljemEgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9zZXJpYV93eWRhd25pY3phKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3NlcmlhX3d5ZGF3bmljemEpKQ0Kb3V0JHR3X25hendpc2tvIDwtIGlmZWxzZShpcy5uYShvdXQkdHdfbmF6d2lza28pLCcnLGFzLmNoYXJhY3RlcihvdXQkdHdfbmF6d2lza28pKQ0Kb3V0JHR3X2ltaWUgPC0gaWZlbHNlKGlzLm5hKG91dCR0d19pbWllKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHR3X2ltaWUpKQ0Kb3V0JHByYWNvd25payA8LSBpZmVsc2UoaXMubmEob3V0JHByYWNvd25payksJycsYXMuY2hhcmFjdGVyKG91dCRwcmFjb3duaWspKQ0Kb3V0JHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoaXMubmEob3V0JHphX2Fkbm90YWNqZSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9hZG5vdGFjamUpKQ0Kb3V0JEJOX1VSTCA8LSBpZmVsc2UoaXMubmEob3V0JEJOX1VSTCksJycsYXMuY2hhcmFjdGVyKG91dCRCTl9VUkwpKQ0KDQpvdXQgJSQlICANCiAgICB7IHJla29yZF9CTj09bGFnKHJla29yZF9CTiwpICYgcnpfbmF6d2E9PWxhZyhyel9uYXp3YSwpICYgemFfcm9fcm9rPT1sYWcoemFfcm9fcm9rLCkgJiB6YV90eXBlPT1sYWcoemFfdHlwZSwpICYgcnpfcm9kemFqX2lkPT1sYWcocnpfcm9kemFqX2lkLCkgJiBEWl9OQVpXQT09bGFnKERaX05BWldBLCkgJiBEWl9EWklBTF9JRD09bGFnKERaX0RaSUFMX0lELCkgJiB0d190d29yY2FfaWQ9PWxhZyh0d190d29yY2FfaWQsKSAmIHphX3R5dHVsPT1sYWcoemFfdHl0dWwsKSAmIHphX3R5dHVsX29yeWdpbmFsdT09bGFnKHphX3R5dHVsX29yeWdpbmFsdSwpICYgemFfamV6eWtfb3J5Z2luYWx1PT1sYWcoemFfamV6eWtfb3J5Z2luYWx1LCkgJiB6YV9vcGlzX3dzcG9sdHdvcmNvdz09bGFnKHphX29waXNfd3Nwb2x0d29yY293LCkgJiB6YV93eWRhbmllPT1sYWcoemFfd3lkYW5pZSwpICYgemFfdG9teT09bGFnKHphX3RvbXksKSAmIHphX2luc3R5dHVjamE9PWxhZyh6YV9pbnN0eXR1Y2phLCkgJiB6YV9yb2tfd3lkYW5pYT09bGFnKHphX3Jva193eWRhbmlhLCkgJiB6YV9vcGlzX2Zpenljem55X2tzaWF6a2k9PWxhZyh6YV9vcGlzX2Zpenljem55X2tzaWF6a2ksKSAmIHphX3NlcmlhX3d5ZGF3bmljemE9PWxhZyh6YV9zZXJpYV93eWRhd25pY3phLCkgJiB0d19uYXp3aXNrbz09bGFnKHR3X25hendpc2tvLCkgJiB0d19pbWllPT1sYWcodHdfaW1pZSwpICYgcHJhY293bmlrPT1sYWcocHJhY293bmlrLCkgJiB6YV9hZG5vdGFjamU9PWxhZyh6YV9hZG5vdGFjamUsKSAmIEJOX1VSTD09bGFnKEJOX1VSTCwpfSAlPiUgDQogICAgYXMubnVtZXJpYygpICU+JSANCiAgICB7Ln0gLT4gb3V0JHNhbWUNCm91dCRzYW1lWzFdIDwtIDANCm91dCRkemllbG9uZSA8LSBwYXN0ZShvdXQkYW1fYXV0b3JfaWQsb3V0JGFtX25hendpc2tvLG91dCRhbV9pbWllLG91dCRvc19vc29iYV9pZCxvdXQkb3NfbmF6d2lza28sb3V0JG9zX2ltaWUsb3V0JGZvX3N5bWJvbCxvdXQkd3lfd3lkYXduaWN0d29faWQsb3V0JHd5X21pZWpzY2Usb3V0JHd5X25hendhLHNlcCA9ICIiKQ0KDQpvdXQgPC0gb3V0ICU+JQ0KICBmaWx0ZXIoIShzYW1lPT0xJmR6aWVsb25lPT0iIikpICU+JQ0KICBzZWxlY3QoMTozMykNCg0Kb3V0ICUkJSAgDQogICAgeyByZWtvcmRfQk49PWxhZyhyZWtvcmRfQk4sKSAmIHJ6X25hendhPT1sYWcocnpfbmF6d2EsKSAmIHphX3JvX3Jvaz09bGFnKHphX3JvX3JvaywpICYgemFfdHlwZT09bGFnKHphX3R5cGUsKSAmIHJ6X3JvZHphal9pZD09bGFnKHJ6X3JvZHphal9pZCwpICYgRFpfTkFaV0E9PWxhZyhEWl9OQVpXQSwpICYgRFpfRFpJQUxfSUQ9PWxhZyhEWl9EWklBTF9JRCwpICYgdHdfdHdvcmNhX2lkPT1sYWcodHdfdHdvcmNhX2lkLCkgJiB6YV90eXR1bD09bGFnKHphX3R5dHVsLCkgJiB6YV90eXR1bF9vcnlnaW5hbHU9PWxhZyh6YV90eXR1bF9vcnlnaW5hbHUsKSAmIHphX2plenlrX29yeWdpbmFsdT09bGFnKHphX2plenlrX29yeWdpbmFsdSwpICYgemFfb3Bpc193c3BvbHR3b3Jjb3c9PWxhZyh6YV9vcGlzX3dzcG9sdHdvcmNvdywpICYgemFfd3lkYW5pZT09bGFnKHphX3d5ZGFuaWUsKSAmIHphX3RvbXk9PWxhZyh6YV90b215LCkgJiB6YV9pbnN0eXR1Y2phPT1sYWcoemFfaW5zdHl0dWNqYSwpICYgemFfcm9rX3d5ZGFuaWE9PWxhZyh6YV9yb2tfd3lkYW5pYSwpICYgemFfb3Bpc19maXp5Y3pueV9rc2lhemtpPT1sYWcoemFfb3Bpc19maXp5Y3pueV9rc2lhemtpLCkgJiB6YV9zZXJpYV93eWRhd25pY3phPT1sYWcoemFfc2VyaWFfd3lkYXduaWN6YSwpICYgdHdfbmF6d2lza289PWxhZyh0d19uYXp3aXNrbywpICYgdHdfaW1pZT09bGFnKHR3X2ltaWUsKSAmIHByYWNvd25paz09bGFnKHByYWNvd25paywpICYgemFfYWRub3RhY2plPT1sYWcoemFfYWRub3RhY2plLCkgJiBCTl9VUkw9PWxhZyhCTl9VUkwsKX0gJT4lIA0KICAgIGFzLm51bWVyaWMoKSAlPiUgDQogICAgey59IC0+IG91dCRzYW1lDQoNCiN1Y2nEmWNpZSB6Ynl0IGTFgnVnaWNoIGNpxIVnw7N3IHpuYWvDs3csIGJ5IHdlc3rFgnkgZG8gb3JhY2xlJ2ENCmRsdWdvc2NpIDwtIGRhdGEuZnJhbWUocG9sZSA9IGMoImFtX25hendpc2tvIiwgImFtX2ltaWUiLCAiemFfdHl0dWwiLCAiemFfdHl0dWxfb3J5Z2luYWx1IiwgInphX2plenlrX29yeWdpbmFsdSIsICJvc19uYXp3aXNrbyIsICJvc19pbWllIiwgInphX29waXNfd3Nwb2x0d29yY293IiwgInphX2luc3R5dHVjamEiLCAid3lfbWllanNjZSIsICJ3eV9uYXp3YSIsICJ6YV9vcGlzX2Zpenljem55X2tzaWF6a2kiLCAiemFfc2VyaWFfd3lkYXduaWN6YSIsICJ0d19uYXp3aXNrbyIsICJ0d19pbWllIiwgInphX2Fkbm90YWNqZSIpLCBsaWN6YmFfem5ha293ID0gYyg1MCw0MCw1MDAsNTAwLDEwMCw1MCw0MCw1MDAsMjU1LDQwLDI1NSwxMDAwLDI1NSwyMDAsNDAsMjAwMCkpDQp4IDwtIG1hdGNoKGRsdWdvc2NpJHBvbGUsbmFtZXMob3V0KSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgZGx1Z29zYyA8LSBkbHVnb3NjaSRsaWN6YmFfem5ha293W21hdGNoKG5hbWVzKG91dFtpXSksZGx1Z29zY2kkcG9sZSldDQogIG91dCR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGRsdWdvc2M8bmNoYXIoYXMuY2hhcmFjdGVyKG91dFssaV0pKSZvdXQkemFfYWRub3RhY2plIT0iIixwYXN0ZShvdXQkemFfYWRub3RhY2plLHBhc3RlKCJVV0FHQSEgUG9sZSAiLGFzLmNoYXJhY3RlcihuYW1lcyhvdXRbaV0pKSwiIGJ5xYJvIHpieXQgZMWCdWdpZSBpIHpvc3RhxYJvIHByenljacSZdGUuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGRsdWdvc2M8bmNoYXIoYXMuY2hhcmFjdGVyKG91dFssaV0pKSZvdXQkemFfYWRub3RhY2plPT0iIixwYXN0ZSgiVVdBR0EhIFBvbGUgIixhcy5jaGFyYWN0ZXIobmFtZXMob3V0W2ldKSksIiBiecWCbyB6Ynl0IGTFgnVnaWUgaSB6b3N0YcWCbyBwcnp5Y2nEmXRlLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksYXMuY2hhcmFjdGVyKG91dCR6YV9hZG5vdGFjamUpKSkNCiAgDQogIG91dFssaV0gPC0gaWZlbHNlKGRsdWdvc2M8bmNoYXIoYXMuY2hhcmFjdGVyKG91dFssaV0pKSxhcy5jaGFyYWN0ZXIoc3Vic3RyKG91dFssaV0sMSxkbHVnb3NjKSksYXMuY2hhcmFjdGVyKG91dFssaV0pKQ0KfQ0KDQpvdXQkcmVrb3JkX0JOW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkcnpfbmF6d2Fbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9yb19yb2tbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV90eXBlW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkcnpfcm9kemFqX2lkW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkRFpfTkFaV0Fbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCREWl9EWklBTF9JRFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHR3X3R3b3JjYV9pZFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3R5dHVsW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfdHl0dWxfb3J5Z2luYWx1W291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfamV6eWtfb3J5Z2luYWx1W291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfb3Bpc193c3BvbHR3b3Jjb3dbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV93eWRhbmllW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfdG9teVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX2luc3R5dHVjamFbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9yb2tfd3lkYW5pYVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX29waXNfZml6eWN6bnlfa3NpYXpraVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3NlcmlhX3d5ZGF3bmljemFbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR0d19uYXp3aXNrb1tvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHR3X2ltaWVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCRwcmFjb3duaWtbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9hZG5vdGFjamVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCRCTl9VUkxbb3V0JHNhbWUgPT0gMV0gPC0gIiINCg0KI3ByenlwaXNhbmllIGRvIGF1dG9tYXR5Y3puZWdvIE9LIHJlZGFrdG9yYSAiYXV0b21hdCINCm91dCA8LSBvdXQgJT4lDQogIG11dGF0ZShwcmFjb3duaWsgPSBpZmVsc2UocmVrb3JkX0JOICVpbiUgYXV0b21hdHljem55X0lPSyRyZWtvcmRfQk4sIkFVVE9NQVQiLGFzLmNoYXJhY3RlcihwcmFjb3duaWspKSkgJT4lDQogIHNlbGVjdCgxOjMzKQ0KDQojcMSZdGxhIHphcGlzdWrEhWNhIHBvIG9rLiAyMDAwIHdpZXJzenkgeiB1d3pnbMSZZG5pZW5pZW0ga29tcGxldG5vxZtjaSByZWtvcmTDs3cgYmlibGlvZ3JhZmljem55Y2ggcm96cGlzYW55Y2ggbmEga2lsa2Egd2llcnN6eQ0Kb3V0IDwtIG91dCAlPiUNCiAgbXV0YXRlKHBvZHppYWwgPSBpZmVsc2UocmVrb3JkX0JOIT0iIixhcy5jaGFyYWN0ZXIocmVrb3JkX0JOKSxOQSkpICU+JQ0KICBmaWxsKHBvZHppYWwpDQppbGUgPC0gdW5pcXVlKG91dCRwb2R6aWFsKQ0KaWxlIDwtIHNwbGl0KHVuaXF1ZShpbGUpLCBjZWlsaW5nKHNlcV9hbG9uZyh1bmlxdWUoaWxlKSkvMTUwMCkpDQp4IDwtIDE6bGVuZ3RoKGlsZSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgZmluYWwgPC0gb3V0ICU+JQ0KICAgIGZpbHRlcihwb2R6aWFsICVpbiUgaWxlW1tpXV0pICU+JQ0KICAgIHNlbGVjdCgtcG9kemlhbCkNCiAgd3JpdGUueGxzeChmaW5hbCwgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvIixpbXBvcnRfeWVhciwiX3BvZG1pb3Rvd2FfZG9faW1wb3J0dSIsaSwiLnhsc3giLHNlcCA9ICIiKSxzaGVldE5hbWUgPSAiZ290b3dlIikNCn0NCmBgYA0KDQpgYGB7ciBrc2nEhcW8a2kgcHJ6ZWRtaW90b3dlfQ0KYm5fb2sgPC0gY2h1bmsxMQ0KZGF0YSA8LSBibl9vayAlPiUNCiAgZmlsdGVyKHJvZHphal9rc2lhemtpPT0icHJ6ZWRtaW90b3dhIikgJT4lDQogIG11dGF0ZShyZWRha3Rvcl9kemlhbHUgPSBwYXN0ZShyZWRha3Rvcl9kemlhbHUsIl9wcnplZG0iLHNlcCA9ICIiKSkNCiN1d29sbmllbmllIGtvbHVtbiB6IGRhbnltaSB6IGJuIGkgcHJ6ZXR3b3J6ZW5pZSBkbyBQQkwNCiMxOiB6YV91d2FnaSwgcnpfbmF6d2EsIHphX3JvX3JvaywgemFfdHlwZSwgcnpfcm9kemFqX2lkLCB0d190d29yY2FfaWQsIHR3X25hendpc2tvLCB0d19pbWllLCBkel9kemlhbF9pZCwgZHpfbmF6d2EsIHJlZGFrdG9yX2R6aWFsdQ0KcG9sYV9wYmwgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCBSWl9OQVpXQSwgWkFfUk9fUk9LID0gcm9rLCBSWl9ST0RaQUpfSUQsIFRXX1RXT1JDQV9JRCwgVFdfTkFaV0lTS08sIFRXX0lNSUUsIERaX0RaSUFMX0lELCBEWl9OQVpXQSwgcmVkYWt0b3JfZHppYWx1KSAlPiUNCiAgbXV0YXRlKFpBX1RZUEUgPSAiS1MiKQ0KIzI6IGF1dG9yDQpCTl9hdXRvciA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWDEwMCxYMjQ1LFpBX1VXQUdJKQ0KI3BvbGUgMTAwDQptYXJjX2ZpZWxkXzEwMCA8LSBCTl9hdXRvciAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgxMDApJT4lDQogIGZpbHRlcihYMTAwIT0iIikgJT4lDQogIG11dGF0ZShYMTAwPXN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgxMDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVtb3ZlX2FsbChYMTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgxMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoQk5fYXV0b3IkWDEwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzEwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8xMDA8LWNiaW5kKG1hcmNfZmllbGRfMTAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMTAwJFgxMDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8xMDAkWDEwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8xMDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8xMDAkWDEwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMTAwJFgxMDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KI3BvbGUgMjQ1DQptYXJjX2ZpZWxkXzI0NSA8LSBCTl9hdXRvciAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDUpJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoQk5fYXV0b3IkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KQk5fYXV0b3IgPC0gbWFyY19maWVsZF8xMDAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBpZmVsc2UoIWlzLm5hKGAkYmApLHBhc3RlKGAkYWAsYCRiYCxzZXAgPSAiICIpLGFzLmNoYXJhY3RlcihgJGFgKSkpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoQU1fTkFaV0lTS08gPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIHN0cl9yZXBsYWNlX2FsbChzdHJfcmVtb3ZlX2FsbChgJGFgLCIsIiksIlxcfCIsIiwgIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKGAkYWApKSksDQogICAgICAgICBBTV9JTUlFID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCIqIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIsIixgJGFgKSxzdHJfcmVwbGFjZV9hbGwoYCRhYCwiKC4qPykoLCApKC4qKSIsIlxcMyIpLCIqIikpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzI0NSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUsIFgyNDVjID0gYCRjYCkNCiAgDQp4IDwtIDE6bGVuZ3RocyhCTl9hdXRvclsxXSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIEJOX2F1dG9yJGN6eV9uYXp3aXNrb1tpXSA8LSBncmVwbChCTl9hdXRvciRBTV9OQVpXSVNLT1tpXSxCTl9hdXRvciRYMjQ1Y1tpXSkNCiAgQk5fYXV0b3IkY3p5X2ltaWVbaV0gPC0gZ3JlcGwoQk5fYXV0b3IkQU1fSU1JRVtpXSxCTl9hdXRvciRYMjQ1Y1tpXSkNCn0NCg0KQk5fYXV0b3IgPC0gQk5fYXV0b3IgJT4lDQogIG11dGF0ZShaQV9BRE5PVEFDSkUgPSBpZmVsc2UoY3p5X25hendpc2tvPT1GQUxTRXxjenlfaW1pZT09RkFMU0UscGFzdGUoIlVXQUdBISBLb25mbGlrdCB3IGRhbnljaCBvc29ib3d5Y2ggdyBwb2xhY2ggMTAwIGkgMjQ1LiBQb3LDs3duYWogcG9sZSBhdXRvciB3IGZvcm11bGFyenUgeiBwb2xlbSBCTjogIixYMjQ1YyxzZXAgPSAiIiksTkEpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUsWkFfQUROT1RBQ0pFKSAlPiUNCiAgbXV0YXRlKG5hendhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihwYXN0ZShBTV9OQVpXSVNLTyxBTV9JTUlFLCBzZXAgPSAiIikpLCAiXFxXIiwgIiIpKSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX2F1dG9yenkgJT4lIHNlbGVjdChBTV9BVVRPUl9JRCxBTV9LUllQVE9OSU0sQU1fTElDWkJBX1pBUElTT1csbmF6d2EpICU+JSBmaWx0ZXIoaXMubmEoQU1fS1JZUFRPTklNKSksYnk9Im5hendhIikgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksQU1fTkFaV0lTS08sQU1fSU1JRSwtQU1fTElDWkJBX1pBUElTT1cpDQpCTl9hdXRvciRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoQk5fYXV0b3JbMTozXSkpDQpCTl9hdXRvciA8LSBCTl9hdXRvclshZHVwbGljYXRlZChCTl9hdXRvciRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUsWkFfQUROT1RBQ0pFLEFNX0FVVE9SX0lEKQ0KDQojMzogdHl0dcWCDQojcG9sZSAyNDUNCm1hcmNfZmllbGRfMjQ1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJ+IiksDQogICAgICAgICBYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQp6YV90eXR1bCA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCxgJG5gLGAkcGApICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksY29sbGFwc2UgPSAiICIpLA0KICAgICAgICAgYCRiYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGJgKSwiIixhcy5jaGFyYWN0ZXIoYCRiYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgIGAkbmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRuYCksIiIsYXMuY2hhcmFjdGVyKGAkbmApKSxjb2xsYXBzZSA9ICIgIiksDQogICAgICAgICBgJHBgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkcGApLCIiLGFzLmNoYXJhY3RlcihgJHBgKSksY29sbGFwc2UgPSAiICIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgdW5pdGUoIlpBX1RZVFVMIixgJGFgOmAkcGAsc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lDQogIG11dGF0ZShaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiICsiLCIgIiksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZW1vdmUoWkFfVFlUVUwsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLGFzLmNoYXJhY3RlcihaQV9UWVRVTCkpKSkpLA0KICAgICAgICAgWkFfVFlUVUwgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksYXMuY2hhcmFjdGVyKFpBX1RZVFVMKSkpKSksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiXFwuezN9IFxcLnszfSIsIi4uLiAiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCIgOyAiLCIuICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsWkFfVFlUVUwpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX1RZVFVMKQ0KDQojNDogdHl0dcWCIG9yeWdpbmHFgnUNCiNwb2xlIDI0Ng0KbWFyY19maWVsZF8yNDYgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDYpJT4lDQogIGZpbHRlcihYMjQ2IT0iIikgJT4lDQogIG11dGF0ZShYMjQ2PXN0cl9yZW1vdmVfYWxsKFgyNDYsIn4iKSwNCiAgICAgICAgIFgyNDY9c3RyX3JlcGxhY2VfYWxsKFgyNDYsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI0NiIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjQ2IT0iIikgJT4lDQogIG11dGF0ZShYMjQ2PXN0cl9yZW1vdmVfYWxsKFgyNDYsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NiwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNDYsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNDYpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjQ2PC1jYmluZChtYXJjX2ZpZWxkXzI0NixlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI0NiRYMjQ2IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjQ2JFgyNDYsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjQ2WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjQ2JFgyNDYpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI0NiRYMjQ2KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCmlmKCIkbiIgJWluJSBjb2xuYW1lcyhtYXJjX2ZpZWxkXzI0NikpIHsNCm1hcmNfZmllbGRfMjQ2IDwtIG1hcmNfZmllbGRfMjQ2WywgY29sU3Vtcyhpcy5uYShtYXJjX2ZpZWxkXzI0NikpICE9IG5yb3cobWFyY19maWVsZF8yNDYpXSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnIixYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmAsYCRuYCxgJHBgKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLGNvbGxhcHNlID0gIiwgIiksDQogICAgICAgICBgJGJgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksY29sbGFwc2UgPSAiIiksDQogICAgICAgICBgJG5gID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkbmApLCIiLGFzLmNoYXJhY3RlcihgJG5gKSksY29sbGFwc2UgPSAiIiksDQogICAgICAgICBgJHBgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkcGApLCIiLGFzLmNoYXJhY3RlcihgJHBgKSksY29sbGFwc2UgPSAiIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICB1bml0ZSgiWDI0NiIsYCRhYDpgJHBgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JSANCiAgbXV0YXRlKFgyNDYgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NiwiICsiLCIgIiksDQogICAgICAgICBYMjQ2ID0gc3RyX3JlbW92ZShYMjQ2LCAiXFxzK1xcL1xcc3swLH0kIiksDQogICAgICAgICBYMjQ2ID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLGFzLmNoYXJhY3RlcihYMjQ2KSkpKSksDQogICAgICAgICBYMjQ2ID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYMjQ2KSxhcy5jaGFyYWN0ZXIoWDI0NikpKSkpLA0KICAgICAgICAgWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWDI0NiA9IGdzdWIoIiggOiApKC4pIiwiLiBcXFVcXDIiLHBlcmw9VFJVRSxYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgWDI0NikNCn0gZWxzZSB7DQogIG1hcmNfZmllbGRfMjQ2IDwtIG1hcmNfZmllbGRfMjQ2WywgY29sU3Vtcyhpcy5uYShtYXJjX2ZpZWxkXzI0NikpICE9IG5yb3cobWFyY19maWVsZF8yNDYpXSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnIixYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksY29sbGFwc2UgPSAiLCAiKSwNCiAgICAgICAgIGAkYmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSxjb2xsYXBzZSA9ICIiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHVuaXRlKCJYMjQ2IixgJGFgOmAkYmAsc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIA0KICBtdXRhdGUoWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCIgKyIsIiAiKSwNCiAgICAgICAgIFgyNDYgPSBzdHJfcmVtb3ZlKFgyNDYsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKXswLDF9KC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLGFzLmNoYXJhY3RlcihYMjQ2KSkpKSksDQogICAgICAgICBYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBYMjQ2ID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFgyNDYpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCBYMjQ2KQ0KfQ0KDQojcG9sZSA1MDANCm1hcmNfZmllbGRfNTAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTAwKSU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVtb3ZlX2FsbChYNTAwLCJ+IiksDQogICAgICAgICBYNTAwPXN0cl9yZXBsYWNlX2FsbChYNTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg1MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVtb3ZlX2FsbChYNTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg1MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzUwMDwtY2JpbmQobWFyY19maWVsZF81MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF81MDAkWDUwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzUwMCRYNTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzUwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzUwMCRYNTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF81MDAkWDUwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF81MDAgPC0gbWFyY19maWVsZF81MDAgJT4lDQogIGZpbHRlcihncmVwbCgib3J5Z1xcLlxcOiIsWDUwMCkpICU+JQ0KICBtdXRhdGUoWDUwMCA9IHN0cl9yZW1vdmUoYCRhYCwiXlR5dFxcLiBvcnlnXFwuOiB8XlR5dFxcLCBvcnlnXFwuOiB8Xi4qP3R5dFxcLiBvcnlnXFwuOiAiKSwNCiAgICAgICAgIFg1MDAgPSBzdHJfcmVtb3ZlKFg1MDAsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSkpKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYNTAwKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYNTAwKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixYNTAwKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYNTAwKSxhcy5jaGFyYWN0ZXIoWDUwMCkpKSkpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZXBsYWNlX2FsbChYNTAwLCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwgIlxcLiQiKSwNCiAgICAgICAgIFg1MDAgPSBzdHJfcmVtb3ZlKFg1MDAsIigsezAsMX0gezAsMX0pXFxkezR9LiokfCgsIHR8LiBUKXl0LiBvcnlnLiBjeWtsdToiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTAwKQ0KI3R5dHXFgiBvcnlnaW5hxYJ1DQp6YV90eXR1bF9vcnlnaW5hbHUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDYsYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfNTAwLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoWDUwMCA9IGlmZWxzZShpcy5uYShYNTAwKSxOQSwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJvcnlnIixYNTAwKSxOQSxhcy5jaGFyYWN0ZXIoWDUwMCkpKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoIWlzLm5hKFg1MDApJmdyZXBsKCJcXC4gLSAiLFg1MDApLHN0cl9yZXBsYWNlKFg1MDAsIiguKj8pKFxcLiAtIC4qJCkiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoWDUwMCkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIk5hIGtzacSFxbxjZSBwc2V1ZCIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIE5hIGtzacSFxbxjZSBwc2V1ZC4qJCkiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoWDUwMCkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIlByemVrxYJcXC4gd2ciLFg1MDApLHN0cl9yZXBsYWNlKFg1MDAsIiguKj8pKFxcLiBQcnpla8WCXFwuIHdnLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBaQV9UWVRVTF9PUllHSU5BTFUgPSBpZmVsc2UoaXMubmEoWDI0NikmaXMubmEoWDUwMCksTkEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKCFpcy5uYShYNTAwKSxhcy5jaGFyYWN0ZXIoWDUwMCksYXMuY2hhcmFjdGVyKFgyNDYpKSksDQogICAgICAgICBaQV9UWVRVTF9PUllHSU5BTFUgPSBzdHJfcmVtb3ZlX2FsbChaQV9UWVRVTF9PUllHSU5BTFUsJ1xcIicpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX1RZVFVMX09SWUdJTkFMVSkNCiM1OiBqxJl6eWsgb3J5Z2luYcWCdQ0KbWFyY19maWVsZF8wNDEgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgwNDEpJT4lDQogIGZpbHRlcihYMDQxIT0iIikgJT4lDQogIG11dGF0ZShYMDQxPXN0cl9yZXBsYWNlX2FsbChYMDQxLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgwNDEiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDA0MSE9IiIpICU+JQ0KICBtdXRhdGUoWDA0MT1zdHJfcmVtb3ZlX2FsbChYMDQxLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgwNDEsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMDQxLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMDQxKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzA0MTwtY2JpbmQobWFyY19maWVsZF8wNDEsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8wNDEkWDA0MSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzA0MSRYMDQxLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzA0MVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzA0MSRYMDQxKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8wNDEkWDA0MSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KemFfamV6eWtfb3J5Z2luYWx1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMDQxICU+JSBzZWxlY3QoWkFfVVdBR0ksWkFfSkVaWUtfT1JZR0lOQUxVID0gYCRhYCksYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShaQV9KRVpZS19PUllHSU5BTFUgPSBzdHJfcmVwbGFjZV9hbGwoWkFfSkVaWUtfT1JZR0lOQUxVLCJcXCRhIiwiLCIpKSAlPiUNCiAgdW5pcXVlKCkNCg0KIzY6IHdzcMOzxYJ0d8OzcmN5DQptYXJjX2ZpZWxkXzcwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDcwMCklPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIiguLlxcJGEpIiwifFxcMSIpLA0KICAgICAgICAgWDcwMD1zdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNzAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlbW92ZV9hbGwoWDcwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNzAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpICU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDcwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzcwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF83MDA8LWNiaW5kKG1hcmNfZmllbGRfNzAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNzAwJFg3MDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF83MDAkWDcwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF83MDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF83MDAkWDcwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNzAwJFg3MDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KQk5fd3Nwb2x0d29yY2EgPC0gbWFyY19maWVsZF83MDAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvc29iYSA9IGAkYWAsZnVua2NqYSA9IGAkZWApICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGZ1bmtjamEpKSAlPiUNCiAgbXV0YXRlKG9zb2JhID0gc3RyX3JlbW92ZShvc29iYSwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSwNCiAgICAgICAgIE9TX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKG9zb2JhKSksDQogICAgICAgICBPU19JTUlFID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwzIiksIioiKSwNCiAgICAgICAgIHdzX3Byb3N0eSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfdG9fbG93ZXIob3NvYmEpLCAiXFxXIiwgIiIpLA0KICAgICAgICAgZnVfcHJvc3RhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihmdW5rY2phKSwgIlxcVyIsICIiKSkgJT4lDQogIGxlZnRfam9pbiguLFBCTF93c3BvbHR3b3JjeSAlPiUgc2VsZWN0KE9TX09TT0JBX0lELE9TX0xJQ1pCQV9aQVBJU09XLG5hendhX3Byb3N0YSksYnk9Yygid3NfcHJvc3R5Ij0ibmF6d2FfcHJvc3RhIikpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLE9TX05BWldJU0tPLE9TX0lNSUUsLU9TX0xJQ1pCQV9aQVBJU09XKQ0KQk5fd3Nwb2x0d29yY2EkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKEJOX3dzcG9sdHdvcmNhWzE6Ml0pKQ0KQk5fd3Nwb2x0d29yY2EgPC0gQk5fd3Nwb2x0d29yY2FbIWR1cGxpY2F0ZWQoQk5fd3Nwb2x0d29yY2EkaWRfZ3J1cHkpLF0gJT4lDQogIGxlZnRfam9pbiguLFBCTF9mdW5rY2plLGJ5PWMoImZ1X3Byb3N0YSI9Im5hendhIikpICU+JQ0KICBtdXRhdGUoZm9fc3ltYm9sID0gaWZlbHNlKGZvX3N5bWJvbD09Ik5VTEwiLE5BLGFzLmNoYXJhY3Rlcihmb19zeW1ib2wpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxPU19OQVpXSVNLTyxPU19JTUlFLE9TX09TT0JBX0lELGZvX3N5bWJvbCxmb19uYXp3YSxmdW5rY2phKQ0KDQojdHV0YWogcHJ6ZXN6dWthxIcgWDI0NSBpIHpuYWxlxbrEhyBixYLEmWR5IHdzcMOzxYJ0d8OzcmPDs3cNCm1hcmNfZmllbGRfMjQ1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJ+IiksDQogICAgICAgICBYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF8yNDUgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1Yz1gJGNgKQ0KDQpCTl93c3BvbHR3b3JjYSA8LSBCTl93c3BvbHR3b3JjYSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikNCg0KeCA8LSAxOmxlbmd0aHMoQk5fd3Nwb2x0d29yY2FbMV0pDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBCTl93c3BvbHR3b3JjYSRjenlfbmF6d2lza29baV0gPC0gc3RyX2RldGVjdChCTl93c3BvbHR3b3JjYSRYMjQ1Y1tpXSxCTl93c3BvbHR3b3JjYSRPU19OQVpXSVNLT1tpXSkNCiAgQk5fd3Nwb2x0d29yY2EkY3p5X2ltaWVbaV0gPC0gZ3JlcGwoQk5fd3Nwb2x0d29yY2EkT1NfSU1JRVtpXSxCTl93c3BvbHR3b3JjYSRYMjQ1Y1tpXSkNCn0NCg0KQk5fd3Nwb2x0d29yY2EgPC0gQk5fd3Nwb2x0d29yY2EgJT4lDQogIG11dGF0ZShaQV9BRE5PVEFDSkUgPSBpZmVsc2UoY3p5X25hendpc2tvPT1GQUxTRXxjenlfaW1pZT09RkFMU0UscGFzdGUoIlVXQUdBISBLb25mbGlrdCB3IGRhbnljaCBvc29ib3d5Y2ggdyBwb2xhY2ggNzAwIGkgMjQ1LiBQb3LDs3duYWogcG9sYSB3c3DDs8WCdMOzcmPDs3cgdyBmb3JtdWxhcnp1IHogcG9sZW0gQk46ICIsWDI0NWMsc2VwID0gIiIpLE5BKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxPU19OQVpXSVNLTyxPU19JTUlFLE9TX09TT0JBX0lELGZvX3N5bWJvbCxmb19uYXp3YSxmdW5rY2phLFpBX0FETk9UQUNKRSkNCg0KIzc6IG9waXMgd3Nww7PFgnR3w7NyY8Ozdw0Kb3Bpc193c3BvbHR3b3Jjb3cgPC0gQk5fd3Nwb2x0d29yY2EgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxmdW5rY2phLE9TX0lNSUUsT1NfTkFaV0lTS08pICU+JQ0KICBmdWxsX2pvaW4oLixtYXJjX2ZpZWxkXzI0NSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShPU19OQVpXSVNLTyl8KGlzLm5hKE9TX05BWldJU0tPKSZncmVwbCgiZXQgYWxcXC4iLFgyNDVjKSkpICU+JQ0KICBtdXRhdGUoamVzdF9ldF9hbCA9IGdyZXBsKCJldCBhbFxcLiIsWDI0NWMpLA0KICAgICAgICAgT1NfSU1JRSA9IGlmZWxzZShPU19JTUlFPT0iKiIsIiIsYXMuY2hhcmFjdGVyKE9TX0lNSUUpKSwNCiAgICAgICAgIG9waXMgPSBpZmVsc2UoIWlzLm5hKE9TX05BWldJU0tPKSxwYXN0ZShmdW5rY2phLE9TX0lNSUUsIE9TX05BWldJU0tPLCBzZXAgPSAiICIpLCIiKSwNCiAgICAgICAgIG9waXMgPSBzdHJfcmVwbGFjZV9hbGwob3BpcywiICsiLCIgIiksDQogICAgICAgICBvcGlzID0gaWZlbHNlKG9waXM9PSIgIiwiIixhcy5jaGFyYWN0ZXIob3BpcykpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9waXMsamVzdF9ldF9hbCkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKG9waXMgPSBwYXN0ZShvcGlzLGNvbGxhcHNlID0gIiwgIiksDQogICAgICAgICBqZXN0X2V0X2FsID0gcGFzdGUodW5pcXVlKGplc3RfZXRfYWwpLHNlcCA9ICIiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShvcGlzID0gaWZlbHNlKGplc3RfZXRfYWw9PVRSVUUmb3Bpcz09IiIsImV0IGFsLiIsDQogICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShqZXN0X2V0X2FsLHBhc3RlKG9waXMsImV0IGFsLiIsc2VwID0gIiAiKSxvcGlzKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3BpcykNCg0KIzcwMA0KbWFyY19maWVsZF83MDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg3MDApJT4lDQogIGZpbHRlcihYNzAwIT0iIikgJT4lDQogIG11dGF0ZShYNzAwPXN0cl9yZXBsYWNlX2FsbChYNzAwLCIoLi5cXCRhKSIsInxcXDEiKSwNCiAgICAgICAgIFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDcwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNzAwIT0iIikgJT4lDQogIG11dGF0ZShYNzAwPXN0cl9yZW1vdmVfYWxsKFg3MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKSAlPiUNCiAgZmlsdGVyKFg3MDAhPSIiKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg3MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF83MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNzAwPC1jYmluZChtYXJjX2ZpZWxkXzcwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzcwMCRYNzAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNzAwJFg3MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNzAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNzAwJFg3MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzcwMCRYNzAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzcwMCA8LSBtYXJjX2ZpZWxkXzcwMCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9zb2JhID0gYCRhYCxmdW5rY2phID0gYCRlYCkgJT4lDQogIGZpbHRlcighaXMubmEoZnVua2NqYSkpICU+JQ0KICBtdXRhdGUob3NvYmEgPSBzdHJfcmVtb3ZlKG9zb2JhLCIoPzw9W2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKShcXC4kKSIpLA0KICAgICAgICAgT1NfTkFaV0lTS08gPSBpZmVsc2UoZ3JlcGwoIiwiLG9zb2JhKSxzdHJfcmVwbGFjZV9hbGwob3NvYmEsIiguKj8pKCwgKSguKikiLCJcXDEiKSxhcy5jaGFyYWN0ZXIob3NvYmEpKSwNCiAgICAgICAgIE9TX0lNSUUgPSBpZmVsc2UoZ3JlcGwoIiwiLG9zb2JhKSxzdHJfcmVwbGFjZV9hbGwob3NvYmEsIiguKj8pKCwgKSguKikiLCJcXDMiKSwiKiIpLA0KICAgICAgICAgZnVua2NqYV9kdXphID0gc3RyX3RvX2xvd2VyKGZ1bmtjamEpLA0KICAgICAgICAgb3BpcyA9IHBhc3RlKGZ1bmtjamFfZHV6YSxPU19JTUlFLE9TX05BWldJU0tPLCBzZXAgPSAiICIpLA0KICAgICAgICAgb3Bpc19kdXp5ID0gcGFzdGUoZnVua2NqYSxPU19JTUlFLE9TX05BWldJU0tPLCBzZXAgPSAiICIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9waXMsb3Bpc19kdXp5KSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUob3BpcyA9IHBhc3RlKG9waXMsY29sbGFwc2UgPSAiLiAiKSwNCiAgICAgICAgIG9waXNfZHV6eSA9IHBhc3RlKG9waXNfZHV6eSxjb2xsYXBzZSA9ICIuICIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKQ0KDQojb3BpcyB3c3DDs8WCdHfDs3Jjw7N3IHplIHN0cmVmeSBvZHBvd2llZHppYWxub8WbY2kgMjQ1DQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfMjQ1IDwtIG1hcmNfZmllbGRfMjQ1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRjYCkNCg0KI3BvcsOzd25hbmllIG9waXN1IHdzcMOzxYJ0d8OzcmPDs3cgeiAyNDUgaSA3MDANCndzcG9sdHdvcmN5IDwtIG1hcmNfZmllbGRfNzAwICU+JQ0KICBmdWxsX2pvaW4oLixtYXJjX2ZpZWxkXzI0NSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgY1NwbGl0KC4sIiRjIixzZXAgPSAiIDsgIixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICAjb2dyYW5pY3phbmllIG9zw7NiIHplIHN0cmVmeSBvZHBvd2llZHppYWxub8WbY2kNCiAgbXV0YXRlKGN6eV9tYWxhID0gZ3JlcGwoIiBbYS16xJnDs8SFxZvFgsW8xbrEh8WEXXxeW2EtesSZw7PEhcWbxYLFvMW6xIfFhF18XFxbW2EtesSZw7PEhcWbxYLFvMW6xIfFhF0iLGAkY2AsaWdub3JlLmNhc2UgPSBGQUxTRSkpICU+JQ0KICBmaWx0ZXIoY3p5X21hbGE9PVRSVUUpICU+JQ0KICBzZWxlY3QoLWN6eV9tYWxhKSAlPiUNCiAgI211dGF0ZShgJGNgID0gZ3N1YigiXihcXFspezAsMX0oW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKSIsIlxcMVxcVVxcMiIscGVybCA9IFRSVUUsYCRjYCkpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShYMjQ1ID0gcGFzdGUoYCRjYCwgY29sbGFwc2UgPSAiLCAiKSkgJT4lDQogIHNlbGVjdCgtYCRjYCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUob3JkZXJfcGJsID0gYXMuY2hhcmFjdGVyKHN0cl9leHRyYWN0X2FsbChvcGlzLCIoPzw9XnwgfFxcW3wtKShbQS1aQcOBw4DDgsODw4TEgsSAw4XEhMOGRcOJw4jDisOLxJrEksSWxJhJw43DjMOOw4/EqsSuSU/Dk8OSw5TDlcOWxZDDmMWSVcOaw5nDm8OcxbDFqsWvWcOdQ8SGxIzDp0TEjsSQxJBHxKLEnkvEtkzFgcS7TsWDw5HFh8WFxYpSxZhTxZrFoMWeU8OfVMWkxabDnsWiOFrFu8W5xb1hLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkiKSksDQogICAgICAgICBvcmRlcl9wYmwgPSBzdHJfcmVwbGFjZV9hbGwob3JkZXJfcGJsLCIoLio/XCIpKC4pKFwiLio/LikiLCAiXFwyIiksDQogICAgICAgICBvcmRlcl9ibiA9IGFzLmNoYXJhY3RlcihzdHJfZXh0cmFjdF9hbGwoWDI0NSwiKD88PV58IHxcXFt8LSkoW0EtWkHDgcOAw4LDg8OExILEgMOFxITDhkXDicOIw4rDi8SaxJLElsSYScONw4zDjsOPxKrErklPw5PDksOUw5XDlsWQw5jFklXDmsOZw5vDnMWwxarFr1nDnUPEhsSMw6dExI7EkMSQR8SixJ5LxLZMxYHEu07Fg8ORxYfFhcWKUsWYU8WaxaDFnlPDn1TFpMWmw57FojhaxbvFucW9YS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pIikpLA0KICAgICAgICAgb3JkZXJfYm4gPSBzdHJfcmVwbGFjZV9hbGwob3JkZXJfYm4sIiguKj9cIikoLikoXCIuKj8uKSIsICJcXDIiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsICJcXC4kIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCAiXFxbIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCAiXFxdIiksDQogICAgICAgICBvcmRlcl9wYmwgPSBzdHJfcmVtb3ZlX2FsbChvcmRlcl9wYmwsICJbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0iKSwNCiAgICAgICAgIG9yZGVyX2JuID0gc3RyX3JlbW92ZV9hbGwob3JkZXJfYm4sICJbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0iKSwNCiAgICAgICAgIHRvX3NhbW8gPSBvcmRlcl9wYmw9PW9yZGVyX2JuLA0KICAgICAgICAgWDI0NSA9IGdzdWIoIiheW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKSguKikiLCJcXFVcXDFcXEVcXDIiLHBlcmwgPSBUUlVFLCBYMjQ1KSkgJT4lDQogIGxlZnRfam9pbiguLHphX2plenlrX29yeWdpbmFsdSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKGN6eV9wbCA9IGdyZXBsKCJwb2wiLFpBX0pFWllLX09SWUdJTkFMVSl8aXMubmEoWkFfSkVaWUtfT1JZR0lOQUxVKSwNCiAgICAgICAgIGRlY3l6amEgPSBpZmVsc2UodG9fc2Ftbz09RkFMU0V8Y3p5X3BsPT1GQUxTRSxGQUxTRSxUUlVFKSkNCg0KemFfb3Bpc193c3BvbHR3b3Jjb3cgPC0gd3Nwb2x0d29yY3kgJT4lDQogIG11dGF0ZSh6YV9vcGlzX3dzcG9sdHdvcmNvdyA9IGlmZWxzZShkZWN5emphPT1UUlVFLGFzLmNoYXJhY3RlcihYMjQ1KSxwYXN0ZShYMjQ1LG9waXNfZHV6eSxzZXAgPSAiIyIpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvcGlzX2R1enksemFfb3Bpc193c3BvbHR3b3Jjb3cpICU+JQ0KICBjU3BsaXQoLiwiemFfb3Bpc193c3BvbHR3b3Jjb3ciLHNlcCA9ICIjIixkaXJlY3Rpb24gPSAid2lkZSIpICU+JQ0KICBtdXRhdGUoemFfb3Bpc193c3BvbHR3b3Jjb3dfMiA9IGlmZWxzZShpcy5uYSh6YV9vcGlzX3dzcG9sdHdvcmNvd18yKSwnJyxhcy5jaGFyYWN0ZXIoemFfb3Bpc193c3BvbHR3b3Jjb3dfMikpLA0KICAgICAgICAgdG9fc2FtbyA9IHphX29waXNfd3Nwb2x0d29yY293XzE9PXphX29waXNfd3Nwb2x0d29yY293XzIpICU+JQ0KICBmaWx0ZXIodG9fc2Ftbz09RkFMU0UpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZSh6YV9vcGlzX3dzcG9sdHdvcmNvdyA9IHBhc3RlKHphX29waXNfd3Nwb2x0d29yY293XzEsemFfb3Bpc193c3BvbHR3b3Jjb3dfMixzZXAgPSAiIyIpLA0KICAgICAgICAgemFfb3Bpc193c3BvbHR3b3Jjb3cgPSBzdHJfcmVtb3ZlX2FsbCh6YV9vcGlzX3dzcG9sdHdvcmNvdywiXFwjJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHphX29waXNfd3Nwb2x0d29yY293KQ0KDQpvcGlzX3dzcG9sdHdvcmNvdyA8LSBvcGlzX3dzcG9sdHdvcmNvdyAlPiUNCiAgZmlsdGVyKFpBX1VXQUdJICVub3RpbiUgemFfb3Bpc193c3BvbHR3b3Jjb3ckWkFfVVdBR0kpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKG9waXMpKSAlPiUNCiAgcmVuYW1lKHphX29waXNfd3Nwb2x0d29yY293ID0gb3BpcykNCg0KemFfb3Bpc193c3BvbHR3b3Jjb3cgPC0gemFfb3Bpc193c3BvbHR3b3Jjb3cgJT4lDQogIGJpbmRfcm93cyguLG9waXNfd3Nwb2x0d29yY293KSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzggd3lkYW5pZQ0KbWFyY19maWVsZF8yNTAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNTApJT4lDQogIGZpbHRlcihYMjUwIT0iIikgJT4lDQogIG11dGF0ZShYMjUwPXN0cl9yZXBsYWNlX2FsbChYMjUwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDI1MD1zdHJfcmVtb3ZlX2FsbChYMjUwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjUwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjUwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI1MDwtY2JpbmQobWFyY19maWVsZF8yNTAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNTAkWDI1MCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI1MCRYMjUwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI1MFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI1MCRYMjUwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNTAkWDI1MCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQp6YV93eWRhbmllIDwtIG1hcmNfZmllbGRfMjUwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIHd5ZGFuaWUgPSBgJGFgKSAlPiUNCiAgbXV0YXRlKHd5ZGFuaWUgPSBzdHJfcmVtb3ZlKHd5ZGFuaWUsIiBcXC8kIikpICU+JQ0KICByaWdodF9qb2luKC4sZGF0YSAlPiUgc2VsZWN0KFpBX1VXQUdJKSxieT0iWkFfVVdBR0kiKQ0KDQojOTogaW5zdHl0dWNqYSBzcHJhd2N6YQ0KbWFyY19maWVsZF8yNDUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDUpJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIn4iKSwNCiAgICAgICAgIFgyNDU9c3RyX3JlcGxhY2VfYWxsKFgyNDUsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI0NSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNDUsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNDUpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjQ1PC1jYmluZChtYXJjX2ZpZWxkXzI0NSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI0NSRYMjQ1IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjQ1JFgyNDUsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjQ1WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjQ1JFgyNDUpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI0NSRYMjQ1KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCnphX2luc3R5dHVjamEgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1Yz1gJGNgKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShYMjQ1YykpICU+JQ0KICBtdXRhdGUoaW5zdHl0dWNqYSA9IGlmZWxzZShncmVwbCgiXFw7IixYMjQ1Yyksc3RyX3JlcGxhY2VfYWxsKFgyNDVjLCAiKC4qPykoXFw7KD8hLipcXDspKSggKSsoLio/JCkiLCJcXDQiKSwiIikpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSxieT0iWkFfVVdBR0kiKQ0KDQp4IDwtIDE6bGVuZ3Rocyh6YV9pbnN0eXR1Y2phWzFdKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgemFfaW5zdHl0dWNqYSRjenlfbmF6d2lza29baV0gPC0gZ3JlcGwoemFfaW5zdHl0dWNqYSRPU19OQVpXSVNLT1tpXSx6YV9pbnN0eXR1Y2phJFgyNDVjW2ldKQ0KICB6YV9pbnN0eXR1Y2phJGN6eV9pbWllW2ldIDwtIGdyZXBsKHphX2luc3R5dHVjamEkT1NfSU1JRVtpXSx6YV9pbnN0eXR1Y2phJFgyNDVjW2ldKQ0KfQ0KDQp6YV9pbnN0eXR1Y2phIDwtIHphX2luc3R5dHVjamEgJT4lDQogIGZpbHRlcihpcy5uYShjenlfbmF6d2lza28pJmlzLm5hKGN6eV9pbWllKSkgJT4lDQogIGZpbHRlcihpbnN0eXR1Y2phIT0iIikgJT4lDQogIGZpbHRlcighZ3JlcGwoIl5cXFtbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl18XlthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSIsaW5zdHl0dWNqYSkpICU+JQ0KICBtdXRhdGUoaW5zdHl0dWNqYSA9IHN0cl9yZW1vdmUoaW5zdHl0dWNqYSwiXFwuJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGluc3R5dHVjamEpICU+JQ0KICByaWdodF9qb2luKC4sZGF0YSAlPiUgc2VsZWN0KFpBX1VXQUdJKSxieT0iWkFfVVdBR0kiKQ0KDQojMTA6IHd5ZGF3bmljdHdvDQpCTl93eWRhd25pY3R3byA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIFgyNjApICU+JQ0KICBtdXRhdGUoWDI2MCA9IHN0cl9yZXBsYWNlX2FsbChYMjYwLCJzXFwublxcLiIsICJiLncuIiksIA0KICAgICAgICAgWDI2MCA9IHN0cl9yZXBsYWNlX2FsbChYMjYwLCJzXFwubFxcLiIsICJiLm0uIiksIA0KICAgICAgICAgWDI2MCA9IHN0cl9yZXBsYWNlX2FsbChYMjYwLCJTXFwubFxcLiIsICJiLm0uIiksIA0KICAgICAgICAgWDI2MCA9IHN0cl9yZW1vdmUoWDI2MCwiXlxcXFwrIiksIA0KICAgICAgICAgcm9rX3d5ZGFuaWEgPSBzdHJfZXh0cmFjdF9hbGwoWDI2MCwgIig/PD1cXCRjKS4qKD89XFwkZSl8KD88PVxcJGMpLioiKSwgDQogICAgICAgICBiZXpfcm9rdSA9IHN0cl9yZXBsYWNlX2FsbChYMjYwLCAiLlxcJGMuKiIsICIiKSwgDQogICAgICAgICBpbGVfd3lkYXduaWN0dyA9IHN0cl9jb3VudChiZXpfcm9rdSwgIlxcJGIiKSwNCiAgICAgICAgIGlsZV9taWVqc2MgPSBzdHJfY291bnQoYmV6X3Jva3UsICJcXCRhIiksDQogICAgICAgICBrb2xlam5vc2MgPSBzdHJfcmVwbGFjZV9hbGwoYXMuY2hhcmFjdGVyKHN0cl9leHRyYWN0X2FsbChiZXpfcm9rdSwgIlxcJC4iKSksICJbXmEtel0iLCAiIiksDQogICAgICAgICBiZXpfcm9rdSA9IHN0cl9yZXBsYWNlX2FsbChiZXpfcm9rdSwgIjtcXCRiIiwgIjokYiIpLA0KICAgICAgICAgd3lkYXdfcG9kemllbCA9IGlmZWxzZShpbGVfd3lkYXduaWN0dz5pbGVfbWllanNjfGtvbGVqbm9zYz09ImNhYWJiIiwgc3RyX3JlcGxhY2VfYWxsKGJlel9yb2t1LCAiKFxcJGEpKC4qPykoIDpcXCRiLio/KSggOlxcJGIpIiwgIlxcMVxcMlxcMyA7JGFcXDJcXDQiKSxiZXpfcm9rdSksDQogICAgICAgICB3eWRhd25pY3R3b190ZXN0ID0gc3RyX3JlcGxhY2VfYWxsKHd5ZGF3X3BvZHppZWwsICIoXFwkYikoLio/KSggO1xcJGEpIiwgIlxcMVxcMnxcXDMiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxyb2tfd3lkYW5pYSx3eWRhd25pY3R3b190ZXN0KSAlPiUNCiAgY1NwbGl0KC4sICJ3eWRhd25pY3R3b190ZXN0Iiwgc2VwID0gInwiLCBkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBtdXRhdGUod3lkYXduaWN0d28gPSBzdHJfZXh0cmFjdF9hbGwod3lkYXduaWN0d29fdGVzdCwgIig/PD1cXCRiKSguKikiKSwNCiAgICAgICAgIG1pZWpzY2Vfd3lkYW5pYSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfZXh0cmFjdF9hbGwod3lkYXduaWN0d29fdGVzdCwgIig/PD1cXCRhKSguKikoPz0gezAsMX06IHswLDF9XFwkYil8KD88PVxcJGEpKC4qKSgkKSIpLCIgO1xcJGEiLCAiLCAiKSwNCiAgICAgICAgIG5hendhX3Byb3N0YSA9IHN0cl90b19sb3dlcihzdHJfcmVwbGFjZV9hbGwoc3RyX3JlcGxhY2VfYWxsKHVubGlzdCh3eWRhd25pY3R3b190ZXN0KSwgIlxcJFxcdyIsICIiKSwgIlxcVyIsICIiKSkpICU+JQ0KICBsZWZ0X2pvaW4oLixQQkxfd3lkYXduaWN0d2EsYnk9Im5hendhX3Byb3N0YSIpICU+JQ0KICBtdXRhdGUodG9fc2FtbyA9IHd5ZGF3bmljdHdvPT1XWV9OQVpXQSkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksLXRvX3NhbW8sLVdZX0xJQ1pCQV9aQVBJU09XKQ0KQk5fd3lkYXduaWN0d28kaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKEJOX3d5ZGF3bmljdHdvWzE6M10pKQ0KQk5fd3lkYXduaWN0d28gPC0gQk5fd3lkYXduaWN0d29bIWR1cGxpY2F0ZWQoQk5fd3lkYXduaWN0d28kaWRfZ3J1cHkpLF0gJT4lDQogIG11dGF0ZShXWV9OQVpXQSA9IGlmZWxzZSghaXMubmEoV1lfTkFaV0EpLGFzLmNoYXJhY3RlcihXWV9OQVpXQSksYXMuY2hhcmFjdGVyKHd5ZGF3bmljdHdvKSksDQogICAgICAgICBXWV9NSUFTVE8gPSBpZmVsc2UoIWlzLm5hKFdZX01JQVNUTyksYXMuY2hhcmFjdGVyKFdZX01JQVNUTyksdHJpbShhcy5jaGFyYWN0ZXIobWllanNjZV93eWRhbmlhKSkpLA0KICAgICAgICAgcm9rX3d5ZGFuaWEgPSBzdHJfcmVwbGFjZV9hbGwocm9rX3d5ZGFuaWEsICIoLiopKFxcLikiLCAiXFwxIiksDQogICAgICAgICB6YV9yb2tfd3lkYW5pYSA9IGlmZWxzZShuY2hhcihyb2tfd3lkYW5pYSk9PTQsYXMuY2hhcmFjdGVyKHJva193eWRhbmlhKSxOQSksDQogICAgICAgICBkb19vcGlzdSA9IGlmZWxzZShpcy5uYSh6YV9yb2tfd3lkYW5pYSkscGFzdGUoIlsiLHN0cl9leHRyYWN0KHJva193eWRhbmlhLCJcXGR7NH0iKSwiXSIsc2VwID0gIiIpLCIiKSwNCiAgICAgICAgIFdZX01JQVNUTyA9IGlmZWxzZShzdWJzdHIoV1lfTUlBU1RPLDEsMSk9PSJbIiZzdWJzdHIoV1lfTUlBU1RPLG5jaGFyKFdZX01JQVNUTyksbmNoYXIoV1lfTUlBU1RPKSkhPSJdIiZpcy5uYShXWV9XWURBV05JQ1RXT19JRCkscGFzdGUodHJpbShXWV9NSUFTVE8pLCJdIixzZXAgPSAiIiksYXMuY2hhcmFjdGVyKFdZX01JQVNUTykpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFdZX1dZREFXTklDVFdPX0lELFdZX05BWldBLFdZX01JQVNUTyx6YV9yb2tfd3lkYW5pYSxkb19vcGlzdSkgJT4lIA0KICBtdXRhdGUoV1lfTkFaV0EgPSBpZmVsc2Uoc3RyX2NvdW50KFdZX05BWldBLCAiXFxbIik+c3RyX2NvdW50KFdZX05BWldBLCAiXFxdIiksIHBhc3RlKFdZX05BWldBLCAiXSIsIHNlcCA9ICIiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShzdHJfY291bnQoV1lfTkFaV0EsICJcXFsiKTxzdHJfY291bnQoV1lfTkFaV0EsICJcXF0iKSwgcGFzdGUoIlsiLCBXWV9OQVpXQSwgc2VwID0gIiIpLCBhcy5jaGFyYWN0ZXIoV1lfTkFaV0EpKSksDQogICAgICAgICBXWV9NSUFTVE8gPSBpZmVsc2Uoc3RyX2NvdW50KFdZX01JQVNUTywgIlxcWyIpPnN0cl9jb3VudChXWV9NSUFTVE8sICJcXF0iKSwgcGFzdGUoV1lfTUlBU1RPLCAiXSIsIHNlcCA9ICIiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShzdHJfY291bnQoV1lfTUlBU1RPLCAiXFxbIik8c3RyX2NvdW50KFdZX01JQVNUTywgIlxcXSIpLCBwYXN0ZSgiWyIsIFdZX01JQVNUTywgc2VwID0gIiIpLCBhcy5jaGFyYWN0ZXIoV1lfTUlBU1RPKSkpKQ0KDQojMTE6IG9waXMgZml6eWN6bnkga3NpxIXFvGtpDQojcG9sZSAzMDAgZG8gb3Bpc3UgZml6eWN6bmVnbw0KbWFyY19maWVsZF8zMDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgzMDApJT4lDQogIGZpbHRlcihYMzAwIT0iIikgJT4lDQogIG11dGF0ZShYMzAwPXN0cl9yZXBsYWNlX2FsbChYMzAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgzMDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDMwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDMwMD1zdHJfcmVtb3ZlX2FsbChYMzAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgzMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMzAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMzAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzMwMDwtY2JpbmQobWFyY19maWVsZF8zMDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8zMDAkWDMwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzMwMCRYMzAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzMwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzMwMCRYMzAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8zMDAkWDMwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF8zMDAgPC0gbWFyY19maWVsZF8zMDAgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIiksDQogICAgICAgICBgJGJgID0gc3RyX3JlbW92ZShgJGJgLCIgXFw7KyR8IFxcOiskIiksDQogICAgICAgICBgJGVgID0gaWZlbHNlKGdyZXBsKCJDRC1ST018RFZEfFZDRHxDRCIsYCRlYCkmZ3JlcGwoIlxcKyBkeXNrfHDFgnl0IixgJGVgKSxzdHJfZXh0cmFjdChgJGVgLCIoPzw9XFwrKShkeXNrfHDFgnl0Lio/KShDRC1ST018RFZEfFZDRHxDRCkoXFwpKXswLDF9IiksDQogICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiQ0QtUk9NfERWRHxWQ0R8Q0QiLGAkZWApLHN0cl9leHRyYWN0KGAkZWAsIiheLio/KShDRC1ST018RFZEfFZDRHxDRCkoXFwpKXswLDF9IiksTkEpKSwNCiAgICAgICAgIGAkYWAgPSBpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSwNCiAgICAgICAgIGAkYmAgPSBpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSwNCiAgICAgICAgIGAkZWAgPSBpZmVsc2UoaXMubmEoYCRlYCksIiIsYXMuY2hhcmFjdGVyKGAkZWApKSkNCiNwb2xlIDUwMCBkbyBvcGlzdSBmaXp5Y3puZWdvDQptYXJjX2ZpZWxkXzUwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDUwMCklPiUNCiAgZmlsdGVyKFg1MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg1MDA9c3RyX3JlcGxhY2VfYWxsKFg1MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDUwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDUwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg1MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF81MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNTAwPC1jYmluZChtYXJjX2ZpZWxkXzUwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzUwMCRYNTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNTAwJFg1MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNTAwJFg1MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzUwMCRYNTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzUwMCA8LSBtYXJjX2ZpZWxkXzUwMCAlPiUNCiAgbXV0YXRlKGAkYWAgPSBpZmVsc2UoZ3JlcGwoIm9yeWcoXFwufFxcLCkiLFg1MDApJmdyZXBsKCJwc2V1ZHxuYXp3YSIsWDUwMCxpZ25vcmUuY2FzZSA9IFRSVUUpLHN0cl9yZXBsYWNlKGAkYWAsIiheLio/KShcXC4gKShcXHB7THV9LiokKSIsIlxcMyIpLGFzLmNoYXJhY3RlcihgJGFgKSkpICU+JSANCiAgZmlsdGVyKCFncmVwbCgib3J5ZyhcXC58XFwsKSIsYCRhYCkmZ3JlcGwoInBzZXVkfG5hendhfGRvdHljenxwb2wiLGAkYWAsaWdub3JlLmNhc2UgPSBUUlVFKSkgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIikpDQogIA0KI3BvbGUgNTQ2IGRvIG9waXN1IGZpenljem5lZ28NCm1hcmNfZmllbGRfNTQ2IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTQ2KSU+JQ0KICBmaWx0ZXIoWDU0NiE9IiIpICU+JQ0KICBtdXRhdGUoWDU0Nj1zdHJfcmVwbGFjZV9hbGwoWDU0NiwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNTQ2IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg1NDYhPSIiKSAlPiUNCiAgbXV0YXRlKFg1NDY9c3RyX3JlbW92ZV9hbGwoWDU0NiwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNTQ2LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDU0NiwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzU0NilbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF81NDY8LWNiaW5kKG1hcmNfZmllbGRfNTQ2LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNTQ2JFg1NDYgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF81NDYkWDU0NixzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF81NDZbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF81NDYkWDU0Niksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNTQ2JFg1NDYpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfNTQ2IDwtIG1hcmNfZmllbGRfNTQ2ICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpKQ0KDQp6YV9vcGlzX2tzIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3d5ZGF3bmljdHdvICU+JSBzZWxlY3QoWkFfVVdBR0ksZG9fb3Bpc3UpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzMwMCAlPiUgc2VsZWN0KFpBX1VXQUdJLFgzMDBhPWAkYWAsWDMwMGI9YCRiYCxYMzAwZT1gJGVgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81MDAgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTAwYT1gJGFgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81NDYgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTQ2YT1gJGFgKSxieT0iWkFfVVdBR0kiKQ0KemFfb3Bpc19rc1tpcy5uYSh6YV9vcGlzX2tzKV0gIDwtICIiDQp6YV9vcGlzX2tzIDwtIHphX29waXNfa3MgJT4lDQogIG11dGF0ZSh6YV9vcGlzX2tzID0gcGFzdGUoaWZlbHNlKGRvX29waXN1IT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoZG9fb3Bpc3UpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDMwMGEhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYMzAwYSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYMzAwYiE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFgzMDBiKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFgzMDBlIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDMwMGUpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDUwMGEhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYNTAwYSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYNTQ2YSE9IiIsYXMuY2hhcmFjdGVyKFg1NDZhKSwiIiksc2VwID0gIiIpLA0KICAgICAgICAgemFfb3Bpc19rcyA9IHN0cl9yZW1vdmUoemFfb3Bpc19rcywiKCwgKSskIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksemFfb3Bpc19rcykgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLC1uY2hhcih6YV9vcGlzX2tzKSkNCnphX29waXNfa3MkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKHphX29waXNfa3NbMV0pKQ0KemFfb3Bpc19rcyA8LSB6YV9vcGlzX2tzWyFkdXBsaWNhdGVkKHphX29waXNfa3MkaWRfZ3J1cHkpLF0gJT4lDQogIHNlbGVjdCgtaWRfZ3J1cHkpDQoNCiMxMjogc2VyaWEgd3lkYXduaWN6YQ0KbWFyY19maWVsZF80OTAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg0OTAsWDgwMCxYODMwKSAlPiUNCiAgbXV0YXRlKFg0OTAgPSBpZmVsc2UoZ3JlcGwoIlVcXCsiLFg0OTApLGFzLmNoYXJhY3RlcihYODMwKSxhcy5jaGFyYWN0ZXIoWDQ5MCkpKSAlPiUNCiAgbXV0YXRlKFg4MDAgPSBpZmVsc2UoWDQ5MCE9IiIsIiIsYXMuY2hhcmFjdGVyKFg4MDApKSwNCiAgICAgICAgIFg4MzAgPSBpZmVsc2UoWDQ5MCE9IiIsIiIsYXMuY2hhcmFjdGVyKFg4MzApKSwNCiAgICAgICAgIFg4MDAgPSBzdHJfcmVwbGFjZShYODAwLCIoXFwkYSkoLiopKFxcJHQpIiwiXFwxIiksDQogICAgICAgICBYNDkwID0gaWZlbHNlKFg0OTA9PSIiJlg4MzAhPSIiLGFzLmNoYXJhY3RlcihYODMwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFg0OTA9PSIiJlg4MDAhPSIiLGFzLmNoYXJhY3RlcihYODAwKSxhcy5jaGFyYWN0ZXIoWDQ5MCkpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNDkwKSAlPiUNCiAgZmlsdGVyKFg0OTAhPSIiKSAlPiUNCiAgbXV0YXRlKFg0OTA9c3RyX3JlcGxhY2VfYWxsKFg0OTAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDQ5MCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNDkwIT0iIikgJT4lDQogIG11dGF0ZShYNDkwPXN0cl9yZW1vdmVfYWxsKFg0OTAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDQ5MCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg0OTAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF80OTApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNDkwPC1jYmluZChtYXJjX2ZpZWxkXzQ5MCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzQ5MCRYNDkwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNDkwJFg0OTAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNDkwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNDkwJFg0OTApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzQ5MCRYNDkwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQp6YV9zZXJpYV93eWRhd25pY3phIDwtIG1hcmNfZmllbGRfNDkwICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoPSkoXFwkYSkiLCJcXDEgIiksDQogICAgICAgICBgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIiksDQogICAgICAgICBgJHZgID0gaWZlbHNlKGlzLm5hKGAkdmApLCIiLGFzLmNoYXJhY3RlcihgJHZgKSkpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGAkYWApKSAlPiUNCiAgbXV0YXRlKHNlcmlhID0gc3RyX3JlbW92ZShwYXN0ZSgiKCIsYCRhYCwiOyAiLGAkdmAsIikiLHNlcCA9ICIiKSwiOyAoPz1cXCkkKSIpLA0KICAgICAgICAgc2VyaWEgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsc2VyaWEpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHNlcmlhKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoc2VyaWEgPSBwYXN0ZShzZXJpYSxjb2xsYXBzZSA9ICIgIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoc2VyaWEgPSBzdHJfcmVwbGFjZV9hbGwoc2VyaWEsIlxcJC4iLCI7ICIpKSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzEzOiB0b215DQp6YV90b215IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIG11dGF0ZSh6YV90b215ID0gTkEpDQoNCiMxNDogYWRub3RhY2plDQp6YV9hZG5vdGFjamUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IgJT4lIHNlbGVjdChaQV9VV0FHSSxaQV9BRE5PVEFDSkUpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSAlPiUgc2VsZWN0KFpBX1VXQUdJLFpBX0FETk9UQUNKRSksYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShaQV9BRE5PVEFDSkUgPSBwYXN0ZShpZmVsc2UoaXMubmEoWkFfQUROT1RBQ0pFLngpLCIiLHBhc3RlKGFzLmNoYXJhY3RlcihaQV9BRE5PVEFDSkUueCksIiMgIixzZXAgPSAiIikpLGlmZWxzZShpcy5uYShaQV9BRE5PVEFDSkUueSksIiIsYXMuY2hhcmFjdGVyKFpBX0FETk9UQUNKRS55KSksc2VwID0gIiIpLA0KICAgICAgICAgWkFfQUROT1RBQ0pFID0gc3RyX3JlbW92ZShaQV9BRE5PVEFDSkUsIigjICkrJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX0FETk9UQUNKRSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLC1uY2hhcihaQV9BRE5PVEFDSkUpKQ0KemFfYWRub3RhY2plJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZCh6YV9hZG5vdGFjamVbMV0pKQ0KemFfYWRub3RhY2plIDwtIHphX2Fkbm90YWNqZVshZHVwbGljYXRlZCh6YV9hZG5vdGFjamUkaWRfZ3J1cHkpLF0gJT4lDQogIHNlbGVjdCgtaWRfZ3J1cHkpDQoNCiMxNTogQk5fVVJMDQpCTl9VUkwgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEJOX1VSTCkNCg0KI3d5csOzd25hbmllIGxpY3pieSB3aWVyc3p5IGRvIGxpY3pieSB3aWVyc3p5IG9iaWVrdHUgZGF0YQ0KQk5fYXV0b3IgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IgJT4lIHNlbGVjdChaQV9VV0FHSSxBTV9BVVRPUl9JRCxBTV9OQVpXSVNLTyxBTV9JTUlFKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgQU1fQVVUT1JfSUQgPSBwYXN0ZShBTV9BVVRPUl9JRCwgY29sbGFwc2U9InwiKSwgQU1fTkFaV0lTS08gPSBwYXN0ZShBTV9OQVpXSVNLTywgY29sbGFwc2U9InwiKSwgQU1fSU1JRSA9IHBhc3RlKEFNX0lNSUUsIGNvbGxhcHNlPSJ8IikpDQpCTl93c3BvbHR3b3JjYSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSAlPiUgc2VsZWN0KFpBX1VXQUdJLE9TX09TT0JBX0lELE9TX05BWldJU0tPLE9TX0lNSUUsZm9fc3ltYm9sKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgT1NfT1NPQkFfSUQgPSBwYXN0ZShPU19PU09CQV9JRCwgY29sbGFwc2U9InwiKSwgT1NfTkFaV0lTS08gPSBwYXN0ZShPU19OQVpXSVNLTywgY29sbGFwc2U9InwiKSwgT1NfSU1JRSA9IHBhc3RlKE9TX0lNSUUsIGNvbGxhcHNlPSJ8IiksIGZvX3N5bWJvbCA9IHBhc3RlKGZvX3N5bWJvbCwgY29sbGFwc2U9InwiKSkgJT4lDQogIG11dGF0ZShmb19zeW1ib2wgPSBpZmVsc2UoZm9fc3ltYm9sPT0iTlVMTCIsIk5BIixhcy5jaGFyYWN0ZXIoZm9fc3ltYm9sKSkpDQpCTl93eWRhd25pY3R3byA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93eWRhd25pY3R3byAlPiUgc2VsZWN0KFpBX1VXQUdJLFdZX1dZREFXTklDVFdPX0lELFdZX05BWldBLFdZX01JQVNUTyx6YV9yb2tfd3lkYW5pYSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGRkcGx5KC4sIC4oWkFfVVdBR0kpLCBzdW1tYXJpemUsIFdZX1dZREFXTklDVFdPX0lEID0gcGFzdGUoV1lfV1lEQVdOSUNUV09fSUQsIGNvbGxhcHNlPSJ8IiksIFdZX05BWldBID0gcGFzdGUoV1lfTkFaV0EsIGNvbGxhcHNlPSJ8IiksIFdZX01JQVNUTyA9IHBhc3RlKFdZX01JQVNUTywgY29sbGFwc2U9InwiKSwgemFfcm9rX3d5ZGFuaWEgPSBwYXN0ZSh1bmlxdWUoemFfcm9rX3d5ZGFuaWEpLCBjb2xsYXBzZT0ifCIpKSAlPiUNCiAgbXV0YXRlKHphX3Jva193eWRhbmlhID0gaWZlbHNlKHphX3Jva193eWRhbmlhPT0iTkEiLCIiLGFzLmludGVnZXIoemFfcm9rX3d5ZGFuaWEpKSkNCg0KI3BvxYLEhWN6ZW5pZSB3c3p5c3RraWNoIGVsZW1lbnTDs3cgdyBqZWRuxIUgdGFiZWzEmQ0Ka29sZWpub3NjIDwtIGRhdGEuZnJhbWUoa29sZWpub3NjPWMoIlpBX1VXQUdJIiwiUlpfTkFaV0EiLCJaQV9ST19ST0siLCJaQV9UWVBFIiwiUlpfUk9EWkFKX0lEIiwiRFpfTkFaV0EiLCJEWl9EWklBTF9JRCIsIlRXX1RXT1JDQV9JRCIsIkFNX0FVVE9SX0lEIiwiQU1fTkFaV0lTS08iLCJBTV9JTUlFIiwiWkFfVFlUVUwiLCJaQV9UWVRVTF9PUllHSU5BTFUiLCJaQV9KRVpZS19PUllHSU5BTFUiLCJPU19PU09CQV9JRCIsIk9TX05BWldJU0tPIiwiT1NfSU1JRSIsImZvX3N5bWJvbCIsInphX29waXNfd3Nwb2x0d29yY293Iiwid3lkYW5pZSIsInphX3RvbXkiLCJpbnN0eXR1Y2phIiwiV1lfV1lEQVdOSUNUV09fSUQiLCJXWV9NSUFTVE8iLCJXWV9OQVpXQSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19rcyIsInNlcmlhIiwiVFdfTkFaV0lTS08iLCJUV19JTUlFIiwicmVkYWt0b3JfZHppYWx1IiwiWkFfQUROT1RBQ0pFIiwiQk5fVVJMIikpDQpwb2xhY3pvbmUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4scG9sYV9wYmwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWxfb3J5Z2luYWx1LGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2plenlrX29yeWdpbmFsdSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9vcGlzX3dzcG9sdHdvcmNvdyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV93eWRhbmllLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2luc3R5dHVjamEsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3lkYXduaWN0d28sYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfb3Bpc19rcyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9zZXJpYV93eWRhd25pY3phLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX3RvbXksYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfYWRub3RhY2plLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX1VSTCxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBzZWxlY3QoYXMudmVjdG9yKGtvbGVqbm9zYyRrb2xlam5vc2MpKQ0KY29sbmFtZXMocG9sYWN6b25lKSA8LSBjKCJyZWtvcmRfQk4iLCJyel9uYXp3YSIsInphX3JvX3JvayIsInphX3R5cGUiLCJyel9yb2R6YWpfaWQiLCJEWl9OQVpXQSIsIkRaX0RaSUFMX0lEIiwidHdfdHdvcmNhX2lkIiwiYW1fYXV0b3JfaWQiLCJhbV9uYXp3aXNrbyIsImFtX2ltaWUiLCJ6YV90eXR1bCIsInphX3R5dHVsX29yeWdpbmFsdSIsInphX2plenlrX29yeWdpbmFsdSIsIm9zX29zb2JhX2lkIiwib3NfbmF6d2lza28iLCJvc19pbWllIiwiZm9fc3ltYm9sIiwiemFfb3Bpc193c3BvbHR3b3Jjb3ciLCJ6YV93eWRhbmllIiwiemFfdG9teSIsInphX2luc3R5dHVjamEiLCJ3eV93eWRhd25pY3R3b19pZCIsInd5X21pZWpzY2UiLCJ3eV9uYXp3YSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIiwiemFfc2VyaWFfd3lkYXduaWN6YSIsInR3X25hendpc2tvIiwidHdfaW1pZSIsInByYWNvd25payIsInphX2Fkbm90YWNqZSIsIkJOX1VSTCIpDQoNCiN6YXN5Z25hbGl6b3dhbmllIG5pZXBvcHJhd25lZ28ga29kb3dhbmlhDQp4IDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCI8VVxcKyguLi4uKT4iLHBvbGFjem9uZVssaV0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkhPTAscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUiLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUiLHNlcCA9ICIiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KICBwb2xhY3pvbmVbLGldIDwtIGdzdWIoIjxVXFwrKC4uLi4pPiIsICI/Pz8iLCBwb2xhY3pvbmVbLGldKQ0KfQ0KI3phc3lnbmFsaXpvd2FuaWUgb2JlY25vxZtjaSB6bmFrdSAkIHcga3TDs3J5bcWbIHogcMOzbA0KWCA8LSAxOihsZW5ndGgocG9sYWN6b25lKS0yKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBwb2xhY3pvbmUkemFfYWRub3RhY2plIDwtIGlmZWxzZShncmVwbCgiXFwkIixwb2xhY3pvbmVbLGldKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKG5jaGFyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpPT0wLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gem5hayBcIiRcIi4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUscGFzdGUoIlVXQUdBISBaZSB3emdsxJlkdSBuYSBixYLEmWRueSB6YXBpcyBCTiB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiB3eWRydWtvd2FubyB6bmFrIFwiJFwiLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksc2VwID0gIiMgIikpLGFzLmNoYXJhY3Rlcihwb2xhY3pvbmUkemFfYWRub3RhY2plKSkNCn0NCiN6YXN5Z25hbGl6b3dhbmllIG9iZWNub8WbY2kgZnJhenkgImNoYXJhY3RlcigwKSIgdyBrdMOzcnltxZsgeiBww7NsDQpYIDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCJjaGFyYWN0ZXJcXCgwXFwpIixwb2xhY3pvbmVbLGldKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKG5jaGFyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpPT0wLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gZnJhesSZIFwiY2hhcmFjdGVyKDApXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxwYXN0ZShwb2xhY3pvbmUkemFfYWRub3RhY2plLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gZnJhesSZIFwiY2hhcmFjdGVyKDApXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KfQ0KI3phc3lnbmFsaXpvd2FuaWUgb2JlY25vxZtjaSB6bmFrdSAjIHcgb3Bpc2llIHdzcMOzxYJ0d8OzcmPDs3cNCnBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCJcXCMiLHBvbGFjem9uZSR6YV9vcGlzX3dzcG9sdHdvcmNvdyksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShuY2hhcihwb2xhY3pvbmUkemFfYWRub3RhY2plKT09MCwiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGtvbmZsaWt0IHcgb3Bpc2llIHdzcMOzxYJ0d8OzcmPDs3cgd3liaWVyeiB3xYJhxZtjaXfEhSB3YXJ0b8WbxIcgKHN0cmVmYSBvZHBvd2llZHppYWxub8WbY2kgXCIjXCIgd3Nww7PFgnR3w7NyY3kgeiBwb2xhIDcwMCkiLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUsIlVXQUdBISBaZSB3emdsxJlkdSBuYSBrb25mbGlrdCB3IG9waXNpZSB3c3DDs8WCdHfDs3Jjw7N3IHd5Ymllcnogd8WCYcWbY2l3xIUgd2FydG/Fm8SHIChzdHJlZmEgb2Rwb3dpZWR6aWFsbm/Fm2NpICMgd3Nww7PFgnR3w7NyY3kgeiBwb2xhIDcwMCkiLHNlcCA9ICIjICIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQoNCm91dCA8LSBjU3BsaXQocG9sYWN6b25lLCBjKCJhbV9hdXRvcl9pZCIsICJhbV9uYXp3aXNrbyIsICJhbV9pbWllIiwib3Nfb3NvYmFfaWQiLCJvc19uYXp3aXNrbyIsICJvc19pbWllIiwgImZvX3N5bWJvbCIsInd5X3d5ZGF3bmljdHdvX2lkIiwid3lfbWllanNjZSIsInd5X25hendhIiksc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIHVuaXF1ZSgpDQoNCm91dCRyZWtvcmRfQk4gPC0gaWZlbHNlKGlzLm5hKG91dCRyZWtvcmRfQk4pLCcnLGFzLmNoYXJhY3RlcihvdXQkcmVrb3JkX0JOKSkNCm91dCRyel9uYXp3YSA8LSBpZmVsc2UoaXMubmEob3V0JHJ6X25hendhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHJ6X25hendhKSkNCm91dCR6YV9yb19yb2sgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9yb19yb2spLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfcm9fcm9rKSkNCm91dCR6YV90eXBlIDwtIGlmZWxzZShpcy5uYShvdXQkemFfdHlwZSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90eXBlKSkNCm91dCRyel9yb2R6YWpfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCRyel9yb2R6YWpfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkcnpfcm9kemFqX2lkKSkNCm91dCREWl9OQVpXQSA8LSBpZmVsc2UoaXMubmEob3V0JERaX05BWldBKSwnJyxhcy5jaGFyYWN0ZXIob3V0JERaX05BWldBKSkNCm91dCREWl9EWklBTF9JRCA8LSBpZmVsc2UoaXMubmEob3V0JERaX0RaSUFMX0lEKSwnJyxhcy5jaGFyYWN0ZXIob3V0JERaX0RaSUFMX0lEKSkNCm91dCR0d190d29yY2FfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCR0d190d29yY2FfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkdHdfdHdvcmNhX2lkKSkNCm91dCRhbV9hdXRvcl9pZCA8LSBpZmVsc2UoaXMubmEob3V0JGFtX2F1dG9yX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGFtX2F1dG9yX2lkKSkNCm91dCRhbV9uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JGFtX25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGFtX25hendpc2tvKSkNCm91dCRhbV9pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkYW1faW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCRhbV9pbWllKSkNCm91dCR6YV90eXR1bCA8LSBpZmVsc2UoaXMubmEob3V0JHphX3R5dHVsKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3R5dHVsKSkNCm91dCR6YV90eXR1bF9vcnlnaW5hbHUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV90eXR1bF9vcnlnaW5hbHUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfdHl0dWxfb3J5Z2luYWx1KSkNCm91dCR6YV9qZXp5a19vcnlnaW5hbHUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9qZXp5a19vcnlnaW5hbHUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfamV6eWtfb3J5Z2luYWx1KSkNCm91dCRvc19vc29iYV9pZCA8LSBpZmVsc2UoaXMubmEob3V0JG9zX29zb2JhX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JG9zX29zb2JhX2lkKSkNCm91dCRvc19uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JG9zX25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JG9zX25hendpc2tvKSkNCm91dCRvc19pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkb3NfaW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCRvc19pbWllKSkNCm91dCRmb19zeW1ib2wgPC0gaWZlbHNlKGlzLm5hKG91dCRmb19zeW1ib2wpLCcnLGFzLmNoYXJhY3RlcihvdXQkZm9fc3ltYm9sKSkNCm91dCR6YV9vcGlzX3dzcG9sdHdvcmNvdyA8LSBpZmVsc2UoaXMubmEob3V0JHphX29waXNfd3Nwb2x0d29yY293KSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX29waXNfd3Nwb2x0d29yY293KSkNCm91dCR6YV93eWRhbmllIDwtIGlmZWxzZShpcy5uYShvdXQkemFfd3lkYW5pZSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV93eWRhbmllKSkNCm91dCR6YV90b215IDwtIGlmZWxzZShpcy5uYShvdXQkemFfdG9teSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90b215KSkNCm91dCR6YV9pbnN0eXR1Y2phIDwtIGlmZWxzZShpcy5uYShvdXQkemFfaW5zdHl0dWNqYSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9pbnN0eXR1Y2phKSkNCm91dCR3eV93eWRhd25pY3R3b19pZCA8LSBpZmVsc2UoaXMubmEob3V0JHd5X3d5ZGF3bmljdHdvX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHd5X3d5ZGF3bmljdHdvX2lkKSkNCm91dCR3eV9taWVqc2NlIDwtIGlmZWxzZShpcy5uYShvdXQkd3lfbWllanNjZSksJycsYXMuY2hhcmFjdGVyKG91dCR3eV9taWVqc2NlKSkNCm91dCR3eV9uYXp3YSA8LSBpZmVsc2UoaXMubmEob3V0JHd5X25hendhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHd5X25hendhKSkNCm91dCR6YV9yb2tfd3lkYW5pYSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3Jva193eWRhbmlhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3Jva193eWRhbmlhKSkNCm91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2kgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2kpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfb3Bpc19maXp5Y3pueV9rc2lhemtpKSkNCm91dCR6YV9zZXJpYV93eWRhd25pY3phIDwtIGlmZWxzZShpcy5uYShvdXQkemFfc2VyaWFfd3lkYXduaWN6YSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9zZXJpYV93eWRhd25pY3phKSkNCm91dCR0d19uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JHR3X25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHR3X25hendpc2tvKSkNCm91dCR0d19pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkdHdfaW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCR0d19pbWllKSkNCm91dCRwcmFjb3duaWsgPC0gaWZlbHNlKGlzLm5hKG91dCRwcmFjb3duaWspLCcnLGFzLmNoYXJhY3RlcihvdXQkcHJhY293bmlrKSkNCm91dCR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9hZG5vdGFjamUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfYWRub3RhY2plKSkNCm91dCRCTl9VUkwgPC0gaWZlbHNlKGlzLm5hKG91dCRCTl9VUkwpLCcnLGFzLmNoYXJhY3RlcihvdXQkQk5fVVJMKSkNCg0Kb3V0ICUkJSAgDQogICAgeyByZWtvcmRfQk49PWxhZyhyZWtvcmRfQk4sKSAmIHJ6X25hendhPT1sYWcocnpfbmF6d2EsKSAmIHphX3JvX3Jvaz09bGFnKHphX3JvX3JvaywpICYgemFfdHlwZT09bGFnKHphX3R5cGUsKSAmIHJ6X3JvZHphal9pZD09bGFnKHJ6X3JvZHphal9pZCwpICYgRFpfTkFaV0E9PWxhZyhEWl9OQVpXQSwpICYgRFpfRFpJQUxfSUQ9PWxhZyhEWl9EWklBTF9JRCwpICYgdHdfdHdvcmNhX2lkPT1sYWcodHdfdHdvcmNhX2lkLCkgJiB6YV90eXR1bD09bGFnKHphX3R5dHVsLCkgJiB6YV90eXR1bF9vcnlnaW5hbHU9PWxhZyh6YV90eXR1bF9vcnlnaW5hbHUsKSAmIHphX2plenlrX29yeWdpbmFsdT09bGFnKHphX2plenlrX29yeWdpbmFsdSwpICYgemFfb3Bpc193c3BvbHR3b3Jjb3c9PWxhZyh6YV9vcGlzX3dzcG9sdHdvcmNvdywpICYgemFfd3lkYW5pZT09bGFnKHphX3d5ZGFuaWUsKSAmIHphX3RvbXk9PWxhZyh6YV90b215LCkgJiB6YV9pbnN0eXR1Y2phPT1sYWcoemFfaW5zdHl0dWNqYSwpICYgemFfcm9rX3d5ZGFuaWE9PWxhZyh6YV9yb2tfd3lkYW5pYSwpICYgemFfb3Bpc19maXp5Y3pueV9rc2lhemtpPT1sYWcoemFfb3Bpc19maXp5Y3pueV9rc2lhemtpLCkgJiB6YV9zZXJpYV93eWRhd25pY3phPT1sYWcoemFfc2VyaWFfd3lkYXduaWN6YSwpICYgdHdfbmF6d2lza289PWxhZyh0d19uYXp3aXNrbywpICYgdHdfaW1pZT09bGFnKHR3X2ltaWUsKSAmIHByYWNvd25paz09bGFnKHByYWNvd25paywpICYgemFfYWRub3RhY2plPT1sYWcoemFfYWRub3RhY2plLCkgJiBCTl9VUkw9PWxhZyhCTl9VUkwsKX0gJT4lIA0KICAgIGFzLm51bWVyaWMoKSAlPiUgDQogICAgey59IC0+IG91dCRzYW1lDQpvdXQkc2FtZVsxXSA8LSAwDQpvdXQkZHppZWxvbmUgPC0gcGFzdGUob3V0JGFtX2F1dG9yX2lkLG91dCRhbV9uYXp3aXNrbyxvdXQkYW1faW1pZSxvdXQkb3Nfb3NvYmFfaWQsb3V0JG9zX25hendpc2tvLG91dCRvc19pbWllLG91dCRmb19zeW1ib2wsb3V0JHd5X3d5ZGF3bmljdHdvX2lkLG91dCR3eV9taWVqc2NlLG91dCR3eV9uYXp3YSxzZXAgPSAiIikNCg0Kb3V0IDwtIG91dCAlPiUNCiAgZmlsdGVyKCEoc2FtZT09MSZkemllbG9uZT09IiIpKSAlPiUNCiAgc2VsZWN0KDE6MzMpDQoNCm91dCAlJCUgIA0KICAgIHsgcmVrb3JkX0JOPT1sYWcocmVrb3JkX0JOLCkgJiByel9uYXp3YT09bGFnKHJ6X25hendhLCkgJiB6YV9yb19yb2s9PWxhZyh6YV9yb19yb2ssKSAmIHphX3R5cGU9PWxhZyh6YV90eXBlLCkgJiByel9yb2R6YWpfaWQ9PWxhZyhyel9yb2R6YWpfaWQsKSAmIERaX05BWldBPT1sYWcoRFpfTkFaV0EsKSAmIERaX0RaSUFMX0lEPT1sYWcoRFpfRFpJQUxfSUQsKSAmIHR3X3R3b3JjYV9pZD09bGFnKHR3X3R3b3JjYV9pZCwpICYgemFfdHl0dWw9PWxhZyh6YV90eXR1bCwpICYgemFfdHl0dWxfb3J5Z2luYWx1PT1sYWcoemFfdHl0dWxfb3J5Z2luYWx1LCkgJiB6YV9qZXp5a19vcnlnaW5hbHU9PWxhZyh6YV9qZXp5a19vcnlnaW5hbHUsKSAmIHphX29waXNfd3Nwb2x0d29yY293PT1sYWcoemFfb3Bpc193c3BvbHR3b3Jjb3csKSAmIHphX3d5ZGFuaWU9PWxhZyh6YV93eWRhbmllLCkgJiB6YV90b215PT1sYWcoemFfdG9teSwpICYgemFfaW5zdHl0dWNqYT09bGFnKHphX2luc3R5dHVjamEsKSAmIHphX3Jva193eWRhbmlhPT1sYWcoemFfcm9rX3d5ZGFuaWEsKSAmIHphX29waXNfZml6eWN6bnlfa3NpYXpraT09bGFnKHphX29waXNfZml6eWN6bnlfa3NpYXpraSwpICYgemFfc2VyaWFfd3lkYXduaWN6YT09bGFnKHphX3NlcmlhX3d5ZGF3bmljemEsKSAmIHR3X25hendpc2tvPT1sYWcodHdfbmF6d2lza28sKSAmIHR3X2ltaWU9PWxhZyh0d19pbWllLCkgJiBwcmFjb3duaWs9PWxhZyhwcmFjb3duaWssKSAmIHphX2Fkbm90YWNqZT09bGFnKHphX2Fkbm90YWNqZSwpICYgQk5fVVJMPT1sYWcoQk5fVVJMLCl9ICU+JSANCiAgICBhcy5udW1lcmljKCkgJT4lIA0KICAgIHsufSAtPiBvdXQkc2FtZQ0KDQojdWNpxJljaWUgemJ5dCBkxYJ1Z2ljaCBjacSFZ8OzdyB6bmFrw7N3LCBieSB3ZXN6xYJ5IGRvIG9yYWNsZSdhDQpkbHVnb3NjaSA8LSBkYXRhLmZyYW1lKHBvbGUgPSBjKCJhbV9uYXp3aXNrbyIsICJhbV9pbWllIiwgInphX3R5dHVsIiwgInphX3R5dHVsX29yeWdpbmFsdSIsICJ6YV9qZXp5a19vcnlnaW5hbHUiLCAib3NfbmF6d2lza28iLCAib3NfaW1pZSIsICJ6YV9vcGlzX3dzcG9sdHdvcmNvdyIsICJ6YV9pbnN0eXR1Y2phIiwgInd5X21pZWpzY2UiLCAid3lfbmF6d2EiLCAiemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIiwgInphX3NlcmlhX3d5ZGF3bmljemEiLCAidHdfbmF6d2lza28iLCAidHdfaW1pZSIsICJ6YV9hZG5vdGFjamUiKSwgbGljemJhX3puYWtvdyA9IGMoNTAsNDAsNTAwLDUwMCwxMDAsNTAsNDAsNTAwLDI1NSw0MCwyNTUsMTAwMCwyNTUsMjAwLDQwLDIwMDApKQ0KeCA8LSBtYXRjaChkbHVnb3NjaSRwb2xlLG5hbWVzKG91dCkpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIGRsdWdvc2MgPC0gZGx1Z29zY2kkbGljemJhX3puYWtvd1ttYXRjaChuYW1lcyhvdXRbaV0pLGRsdWdvc2NpJHBvbGUpXQ0KICBvdXQkemFfYWRub3RhY2plIDwtIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSkmb3V0JHphX2Fkbm90YWNqZSE9IiIscGFzdGUob3V0JHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIFBvbGUgIixhcy5jaGFyYWN0ZXIobmFtZXMob3V0W2ldKSksIiBiecWCbyB6Ynl0IGTFgnVnaWUgaSB6b3N0YcWCbyBwcnp5Y2nEmXRlLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksc2VwID0gIiMgIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSkmb3V0JHphX2Fkbm90YWNqZT09IiIscGFzdGUoIlVXQUdBISBQb2xlICIsYXMuY2hhcmFjdGVyKG5hbWVzKG91dFtpXSkpLCIgYnnFgm8gemJ5dCBkxYJ1Z2llIGkgem9zdGHFgm8gcHJ6eWNpxJl0ZS4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLGFzLmNoYXJhY3RlcihvdXQkemFfYWRub3RhY2plKSkpDQogIA0KICBvdXRbLGldIDwtIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSksYXMuY2hhcmFjdGVyKHN1YnN0cihvdXRbLGldLDEsZGx1Z29zYykpLGFzLmNoYXJhY3RlcihvdXRbLGldKSkNCn0NCg0Kb3V0JHJla29yZF9CTltvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHJ6X25hendhW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfcm9fcm9rW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfdHlwZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHJ6X3JvZHphal9pZFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JERaX05BWldBW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkRFpfRFpJQUxfSURbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR0d190d29yY2FfaWRbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV90eXR1bFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3R5dHVsX29yeWdpbmFsdVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX2plenlrX29yeWdpbmFsdVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX29waXNfd3Nwb2x0d29yY293W291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfd3lkYW5pZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3RvbXlbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9pbnN0eXR1Y2phW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfcm9rX3d5ZGFuaWFbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2lbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9zZXJpYV93eWRhd25pY3phW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkdHdfbmF6d2lza29bb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR0d19pbWllW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkcHJhY293bmlrW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfYWRub3RhY2plW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkQk5fVVJMW291dCRzYW1lID09IDFdIDwtICIiDQoNCm91dCA8LSBvdXQgJT4lDQogIHNlbGVjdCgxOjMzKQ0KDQojcMSZdGxhIHphcGlzdWrEhWNhIHBvIG9rLiAyMDAwIHdpZXJzenkgeiB1d3pnbMSZZG5pZW5pZW0ga29tcGxldG5vxZtjaSByZWtvcmTDs3cgYmlibGlvZ3JhZmljem55Y2ggcm96cGlzYW55Y2ggbmEga2lsa2Egd2llcnN6eQ0Kb3V0IDwtIG91dCAlPiUNCiAgbXV0YXRlKHBvZHppYWwgPSBpZmVsc2UocmVrb3JkX0JOIT0iIixhcy5jaGFyYWN0ZXIocmVrb3JkX0JOKSxOQSkpICU+JQ0KICBmaWxsKHBvZHppYWwpDQppbGUgPC0gdW5pcXVlKG91dCRwb2R6aWFsKQ0KaWxlIDwtIHNwbGl0KHVuaXF1ZShpbGUpLCBjZWlsaW5nKHNlcV9hbG9uZyh1bmlxdWUoaWxlKSkvMTUwMCkpDQp4IDwtIDE6bGVuZ3RoKGlsZSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgZmluYWwgPC0gb3V0ICU+JQ0KICAgIGZpbHRlcihwb2R6aWFsICVpbiUgaWxlW1tpXV0pICU+JQ0KICAgIHNlbGVjdCgtcG9kemlhbCkNCiAgd3JpdGUueGxzeChmaW5hbCwgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvIixpbXBvcnRfeWVhciwiX3ByemVkbWlvdG93YV9kb19pbXBvcnR1IixpLCIueGxzeCIsc2VwID0gIiIpLHNoZWV0TmFtZSA9ICJnb3Rvd2UiKQ0KfQ0KYGBgDQoNCmBgYHtyIGtzacSFxbxraSBhbnRvbG9naWV9DQpibl9vayA8LSBjaHVuazExDQpkYXRhIDwtIGJuX29rICU+JQ0KICBmaWx0ZXIocm9kemFqX2tzaWF6a2k9PSJhbnRvbG9naWEiKSAlPiUNCiAgbXV0YXRlKHJlZGFrdG9yX2R6aWFsdSA9IHBhc3RlKHJlZGFrdG9yX2R6aWFsdSwiX2FudCIsc2VwID0gIiIpKQ0KI3V3b2xuaWVuaWUga29sdW1uIHogZGFueW1pIHogYm4gaSBwcnpldHdvcnplbmllIGRvIFBCTA0KIzE6IHphX3V3YWdpLCByel9uYXp3YSwgemFfcm9fcm9rLCB6YV90eXBlLCByel9yb2R6YWpfaWQsIHR3X3R3b3JjYV9pZCwgdHdfbmF6d2lza28sIHR3X2ltaWUsIGR6X2R6aWFsX2lkLCBkel9uYXp3YSwgcmVkYWt0b3JfZHppYWx1DQpwb2xhX3BibCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIFJaX05BWldBLCBaQV9ST19ST0sgPSByb2ssIFJaX1JPRFpBSl9JRCwgVFdfVFdPUkNBX0lELCBUV19OQVpXSVNLTywgVFdfSU1JRSwgRFpfRFpJQUxfSUQsIERaX05BWldBLCByZWRha3Rvcl9kemlhbHUpICU+JQ0KICBtdXRhdGUoWkFfVFlQRSA9ICJLUyIpDQojMjogYXV0b3INCkJOX2F1dG9yIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShBTV9BVVRPUl9JRCA9IE5BLA0KICAgICAgICAgQU1fTkFaV0lTS08gPSBOQSwNCiAgICAgICAgIEFNX0lNSUUgPSBOQSkNCg0KI2Fkbm90YWNqZSB6IGF1dG9yw7N3DQojdyBhbnRvbG9naWkgYWRub3RhY2phIG11c2kgYnnEhyB3Y3plxZtuaWVqLCDFvGVieSBuYSBnw7NyemUgYnnFgm8gaW5mbyBvIHRla3N0YWNoIGF1dG9yw7N3DQoNClpBX0FETk9UQUNKRSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWDEwMCxYMjQ1LFpBX1VXQUdJKQ0KI3BvbGUgMTAwDQptYXJjX2ZpZWxkXzEwMCA8LSBaQV9BRE5PVEFDSkUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMTAwKSU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVwbGFjZV9hbGwoWDEwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMTAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgxMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgxMDA9c3RyX3JlbW92ZV9hbGwoWDEwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMTAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKFpBX0FETk9UQUNKRSRYMTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzEwMDwtY2JpbmQobWFyY19maWVsZF8xMDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8xMDAkWDEwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzEwMCRYMTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzEwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzEwMCRYMTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8xMDAkWDEwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQojdHV0YWogbW/FvGUgYnnEhyBixYLEhWQgemUgd3pnbMSZZHUgbmEgYnJhayBrb2x1bW55ICRiLCB3dGVkeSBuYWxlxbx5IHptaWVuacSHIGxpbmnEmSB6IHNlbGVjdGVtIGkgemFrb21lbnRvd2HEhyBsaW5pxJk6IG11dGF0ZShgJGFgID0gaWZlbHNlKCFpcy5uYShgJGJgKSxwYXN0ZShgJGFgLGAkYmAsc2VwID0gIiAiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSAlPiUNClpBX0FETk9UQUNKRSA8LSBtYXJjX2ZpZWxkXzEwMCAlPiUNCiAgI3NlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksYCRhYCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICAjbXV0YXRlKGAkYWAgPSBpZmVsc2UoIWlzLm5hKGAkYmApLHBhc3RlKGAkYWAsYCRiYCxzZXAgPSAiICIpLGFzLmNoYXJhY3RlcihgJGFgKSkpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoQU1fTkFaV0lTS08gPSBpZmVsc2UoZ3JlcGwoIlxcfCIsYCRhYCksIHN0cl9yZXBsYWNlX2FsbChzdHJfcmVtb3ZlX2FsbChgJGFgLCIsIiksIlxcfCIsIiwgIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIiwiLGAkYWApLHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKGAkYWApKSksDQogICAgICAgICBBTV9JTUlFID0gaWZlbHNlKGdyZXBsKCJcXHwiLGAkYWApLCIqIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIsIixgJGFgKSxzdHJfcmVwbGFjZV9hbGwoYCRhYCwiKC4qPykoLCApKC4qKSIsIlxcMyIpLCIqIikpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUpICU+JQ0KICB1bml0ZSgiWkFfQUROT1RBQ0pFIiwgQU1fSU1JRTpBTV9OQVpXSVNLTywgc2VwID0gIiAiKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoWkFfQUROT1RBQ0pFID0gcGFzdGUoIltUZWtzdHkgYXV0LjpdIixwYXN0ZShaQV9BRE5PVEFDSkUsY29sbGFwc2UgPSAiLCAiKSxzZXAgPSAiICIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzM6IHR5dHXFgg0KI3BvbGUgMjQ1DQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF8yNDUgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCxgJG5gLGAkcGApICU+JQ0KIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiBtdXRhdGUoYCRhYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgYCRiYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGJgKSwiIixhcy5jaGFyYWN0ZXIoYCRiYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgYCRuYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJG5gKSwiIixhcy5jaGFyYWN0ZXIoYCRuYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgYCRwYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJHBgKSwiIixhcy5jaGFyYWN0ZXIoYCRwYCkpLGNvbGxhcHNlID0gIiAiKSkgJT4lDQogdW5ncm91cCgpICU+JQ0KIHVuaXF1ZSgpICU+JQ0KIHVuaXRlKCJaQV9UWVRVTCIsYCRhYDpgJHBgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JQ0KIG11dGF0ZShaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiICsiLCIgIiksDQogICAgICAgIFpBX1RZVFVMID0gc3RyX3JlbW92ZShaQV9UWVRVTCwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICBaQV9UWVRVTCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSxhcy5jaGFyYWN0ZXIoWkFfVFlUVUwpKSkpKSwNCiAgICAgICAgWkFfVFlUVUwgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksYXMuY2hhcmFjdGVyKFpBX1RZVFVMKSkpKSksDQogICAgICAgIFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiIDsgIiwiLiAiKSwNCiAgICAgICAgWkFfVFlUVUwgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsWkFfVFlUVUwpKSAlPiUNCiBzZWxlY3QoWkFfVVdBR0ksWkFfVFlUVUwpDQojZG9waXNhbmllIGdhdHVua3UgZG8gcHJ6ZWRtaW90b3dlaiBuYSBwb2RzdGF3aWUgNjU1IGkgNjUwICANCmdhdHVua2lfcGJsIDwtIGRhdGEuZnJhbWUoZ2F0dW5layA9IGMoImFmb3J5em0iLCAiYWxidW0iLCAiYW50b2xvZ2lhIiwgImF1dG9iaW9ncmFmaWEiLCAiZHppZW5uaWsiLCAiZXNlaiIsICJmZWxpZXRvbiIsICJpbm5lIiwgImthemFuaWUiLCAibGlzdCIsICJtaW5pYXR1cmEgcHJvesSFIiwgIm9wb3dpYWRhbmllIiwgInBvZW1hdCIsICJwb3dpZcWbxIciLCAicHJvemEiLCAicHJvemEgcG9ldHlja2EiLCAicmVwb3J0YcW8IiwgInJvem15xZtsYW5pZSByZWxpZ2lqbmUiLCAicnlzdW5laywgb2JyYXoiLCAic2NlbmFyaXVzeiIsICJzemtpYyIsICJ0ZWtzdCBiaWJsaWpueSIsICJ0ZWtzdCBkcmFtYXR5Y3pueSIsICJkcmFtYXQiLCAid2llcnN6IiwgIndzcG9tbmllbmlhIiwgInd5cG93aWVkxboiLCAicGFtacSZdG5pa2kiLCAicG9lemphIiwgImxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSIsICJzYXR5cmEiLCAicGlvc2Vua2EiKSkNCg0KI2RyYW1hdCwgcGFtacSZdG5pa2ksIHBvZXpqYSwgbGl0ZXJhdHVyYSBwb2Ryw7PFvG5pY3phLCBzYXR5cmEsIHBpb3NlbmthDQpnYXR1bmtpX2JuIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNjU1LFg2NTApDQoNCmdhdHVua2lfYm4gPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgIGZyb20gZ2F0dW5raV9ibg0KICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gZ2F0dW5raV9wYmwgb24gbG93ZXIoZ2F0dW5raV9ibi5YNjU1KSBsaWtlICclJ3x8Z2F0dW5raV9wYmwuZ2F0dW5la3x8JyUnIikNCmdhdHVua2lfYm4gPC0gc3FsZGYoInNlbGVjdCAqDQogICAgICAgICAgICAgICAgICAgICAgZnJvbSBnYXR1bmtpX2JuDQogICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIGdhdHVua2lfcGJsIG9uIGxvd2VyKGdhdHVua2lfYm4uWDY1MCkgbGlrZSAnJSd8fGdhdHVua2lfcGJsLmdhdHVuZWt8fCclJyIpDQpjb2xuYW1lcyhnYXR1bmtpX2JuKVs1XSA8LSAiZ2F0dW5lazIiDQpnYXR1bmtpX2JuIDwtIGdhdHVua2lfYm4gJT4lDQogIG11dGF0ZShnYXR1bmVrID0gaWZlbHNlKGlzLm5hKGdhdHVuZWspJiFpcy5uYShnYXR1bmVrMiksYXMuY2hhcmFjdGVyKGdhdHVuZWsyKSxhcy5jaGFyYWN0ZXIoZ2F0dW5laykpKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShnYXR1bmVrKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxnYXR1bmVrKSAlPiUNCiAgbXV0YXRlKGdhdHVuZWsgPSBpZmVsc2UoZ2F0dW5laz09ImRyYW1hdCIsInRla3N0IGRyYW1hdHljem55IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdhdHVuZWs9PSJwYW1pxJl0bmlraSIsIndzcG9tbmllbmlhIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShnYXR1bmVrPT0icG9lemphIiwid2llcnN6IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ2F0dW5laz09ImxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSIsInJlcG9ydGHFvCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShnYXR1bmVrPT0icGlvc2Vua2EiLCJ3aWVyc3oiLGFzLmNoYXJhY3RlcihnYXR1bmVrKSkpKSkpKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoZ2F0dW5layA9IHBhc3RlKGdhdHVuZWssY29sbGFwc2UgPSAiLCAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIG11dGF0ZShnYXR1bmVrID0gZ3N1YigiKF4uKSIsIlxcVVxcMSIscGVybCA9IFRSVUUsIGdhdHVuZWspKQ0KI3BvxYLEhWN6ZW5pZSB0eXR1xYJ1IHogZ2F0dW5raWVtDQp6YV90eXR1bCA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgbGVmdF9qb2luKC4sZ2F0dW5raV9ibixieT0iWkFfVVdBR0kiKSAlPiUgDQogIG11dGF0ZShnYXR1bmVrID0gcGFzdGUoIlsiLGdhdHVuZWssIl0iLHNlcCA9ICIiKSwNCiAgICAgICAgIGdhdHVuZWsgPSBpZmVsc2UoZ2F0dW5laz09IltOQV0iLE5BLGFzLmNoYXJhY3RlcihnYXR1bmVrKSkpICU+JSANCiAgdW5pdGUoIlpBX1RZVFVMIiwgWkFfVFlUVUw6Z2F0dW5laywgc2VwID0gIi4gIixuYS5ybT1UUlVFKSAlPiUgDQogIG11dGF0ZShaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiXFwuIFxcLiIsIi4gIiksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlKFpBX1RZVFVMLCIoXFwhKShcXC4pfChcXD8pKFxcLikiLCJcXDEiKSkNCiM0OiB0eXR1xYIgb3J5Z2luYcWCdQ0KI3BvbGUgMjQ2DQptYXJjX2ZpZWxkXzI0NiA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NiklPiUNCiAgZmlsdGVyKFgyNDYhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDY9c3RyX3JlbW92ZV9hbGwoWDI0NiwifiIpLA0KICAgICAgICAgWDI0Nj1zdHJfcmVwbGFjZV9hbGwoWDI0NiwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ2IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDYhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDY9c3RyX3JlbW92ZV9hbGwoWDI0NiwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NiwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NilbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDY8LWNiaW5kKG1hcmNfZmllbGRfMjQ2LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ2JFgyNDYgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDYkWDI0NixzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDZbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDYkWDI0Niksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ2JFgyNDYpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KaWYoIiRuIiAlaW4lIGNvbG5hbWVzKG1hcmNfZmllbGRfMjQ1KSkgew0KbWFyY19maWVsZF8yNDYgPC0gbWFyY19maWVsZF8yNDYgJT4lDQogZmlsdGVyKGdyZXBsKCJvcnlnIixYMjQ2KSkgJT4lDQogc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCxgJG5gLGAkcGApICU+JQ0KIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiBtdXRhdGUoYCRhYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLGNvbGxhcHNlID0gIiwgIiksDQogICAgICAgIGAkYmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSxjb2xsYXBzZSA9ICIiKSwNCiAgICAgICAgYCRuYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJG5gKSwiIixhcy5jaGFyYWN0ZXIoYCRuYCkpLGNvbGxhcHNlID0gIiIpLA0KICAgICAgICBgJHBgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkcGApLCIiLGFzLmNoYXJhY3RlcihgJHBgKSksY29sbGFwc2UgPSAiIikpICU+JQ0KIHVuZ3JvdXAoKSAlPiUNCiB1bmlxdWUoKSAlPiUNCiB1bml0ZSgiWDI0NiIsYCRhYDpgJHBgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JQ0KIG11dGF0ZShYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIiArIiwiICIpLA0KICAgICAgICBYMjQ2ID0gc3RyX3JlbW92ZShYMjQ2LCAiXFxzK1xcL1xcc3swLH0kIiksDQogICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgWDI0NiA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICl7MCwxfSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICBYMjQ2ID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFgyNDYpKSAlPiUNCiBzZWxlY3QoWkFfVVdBR0ksIFgyNDYpDQp9IGVsc2Ugew0KICBtYXJjX2ZpZWxkXzI0NiA8LSBtYXJjX2ZpZWxkXzI0NiAlPiUNCiBmaWx0ZXIoZ3JlcGwoIm9yeWciLFgyNDYpKSAlPiUNCiBzZWxlY3QoWkFfVVdBR0ksYCRhYCxgJGJgKSAlPiUNCiBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogbXV0YXRlKGAkYWAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSxjb2xsYXBzZSA9ICIsICIpLA0KICAgICAgICBgJGJgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksY29sbGFwc2UgPSAiIikpICU+JQ0KIHVuZ3JvdXAoKSAlPiUNCiB1bmlxdWUoKSAlPiUNCiB1bml0ZSgiWDI0NiIsYCRhYDpgJGJgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JQ0KIG11dGF0ZShYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIiArIiwiICIpLA0KICAgICAgICBYMjQ2ID0gc3RyX3JlbW92ZShYMjQ2LCAiXFxzK1xcL1xcc3swLH0kIiksDQogICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgWDI0NiA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICl7MCwxfSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICBYMjQ2ID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFgyNDYpKSAlPiUNCiBzZWxlY3QoWkFfVVdBR0ksIFgyNDYpDQp9DQoNCiNwb2xlIDUwMA0KbWFyY19maWVsZF81MDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1MDApJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIn4iKSwNCiAgICAgICAgIFg1MDA9c3RyX3JlcGxhY2VfYWxsKFg1MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDUwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDUwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg1MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF81MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNTAwPC1jYmluZChtYXJjX2ZpZWxkXzUwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzUwMCRYNTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNTAwJFg1MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNTAwJFg1MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzUwMCRYNTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzUwMCA8LSBtYXJjX2ZpZWxkXzUwMCAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnXFwuXFw6IixYNTAwKSkgJT4lDQogIG11dGF0ZShYNTAwID0gc3RyX3JlbW92ZShgJGFgLCJeVHl0XFwuIG9yeWdcXC46IHxeVHl0XFwsIG9yeWdcXC46IHxeLio/dHl0XFwuIG9yeWdcXC46ICIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDUwMCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixYNTAwKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDUwMCksYXMuY2hhcmFjdGVyKFg1MDApKSkpKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSkpKSksDQogICAgICAgICBYNTAwID0gc3RyX3JlcGxhY2VfYWxsKFg1MDAsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBYNTAwID0gc3RyX3JlbW92ZShYNTAwLCAiXFwuJCIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwiKCx7MCwxfSB7MCwxfSlcXGR7NH0uKiR8KCwgdHwuIFQpeXQuIG9yeWcuIGN5a2x1OiIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1MDApDQojdHl0dcWCIG9yeWdpbmHFgnUNCnphX3R5dHVsX29yeWdpbmFsdSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzI0NixieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81MDAsYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShYNTAwID0gaWZlbHNlKGlzLm5hKFg1MDApLE5BLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIm9yeWciLFg1MDApLE5BLGFzLmNoYXJhY3RlcihYNTAwKSkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIlxcLiAtICIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIC0gLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKCFpcy5uYShYNTAwKSZncmVwbCgiTmEga3NpxIXFvGNlIHBzZXVkIixYNTAwKSxzdHJfcmVwbGFjZShYNTAwLCIoLio/KShcXC4gTmEga3NpxIXFvGNlIHBzZXVkLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKCFpcy5uYShYNTAwKSZncmVwbCgiUHJ6ZWvFglxcLiB3ZyIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIFByemVrxYJcXC4gd2cuKiQpIiwiXFwxIiksYXMuY2hhcmFjdGVyKFg1MDApKSwNCiAgICAgICAgIFpBX1RZVFVMX09SWUdJTkFMVSA9IGlmZWxzZShpcy5uYShYMjQ2KSZpcy5uYShYNTAwKSxOQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoIWlzLm5hKFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSxhcy5jaGFyYWN0ZXIoWDI0NikpKSwNCiAgICAgICAgIFpBX1RZVFVMX09SWUdJTkFMVSA9IHN0cl9yZW1vdmVfYWxsKFpBX1RZVFVMX09SWUdJTkFMVSwnXFwiJykpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfVFlUVUxfT1JZR0lOQUxVKQ0KDQojNTogasSZenlrIG9yeWdpbmHFgnUNCm1hcmNfZmllbGRfMDQxIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMDQxKSU+JQ0KICBmaWx0ZXIoWDA0MSE9IiIpICU+JQ0KICBtdXRhdGUoWDA0MT1zdHJfcmVwbGFjZV9hbGwoWDA0MSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMDQxIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgwNDEhPSIiKSAlPiUNCiAgbXV0YXRlKFgwNDE9c3RyX3JlbW92ZV9hbGwoWDA0MSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMDQxLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDA0MSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzA0MSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8wNDE8LWNiaW5kKG1hcmNfZmllbGRfMDQxLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMDQxJFgwNDEgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8wNDEkWDA0MSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8wNDFbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8wNDEkWDA0MSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMDQxJFgwNDEpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCnphX2plenlrX29yeWdpbmFsdSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzA0MSAlPiUgc2VsZWN0KFpBX1VXQUdJLFpBX0pFWllLX09SWUdJTkFMVSA9IGAkYWApLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoWkFfSkVaWUtfT1JZR0lOQUxVID0gc3RyX3JlcGxhY2VfYWxsKFpBX0pFWllLX09SWUdJTkFMVSwiXFwkYSIsIiwiKSkgJT4lDQogIHVuaXF1ZSgpDQoNCiM2OiB3c3DDs8WCdHfDs3JjeQ0KbWFyY19maWVsZF83MDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg3MDApJT4lDQogIGZpbHRlcihYNzAwIT0iIikgJT4lDQogIG11dGF0ZShYNzAwPXN0cl9yZXBsYWNlX2FsbChYNzAwLCIoLi5cXCRhKSIsInxcXDEiKSwNCiAgICAgICAgIFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDcwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNzAwIT0iIikgJT4lDQogIG11dGF0ZShYNzAwPXN0cl9yZW1vdmVfYWxsKFg3MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKSAlPiUNCiAgZmlsdGVyKFg3MDAhPSIiKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg3MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF83MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNzAwPC1jYmluZChtYXJjX2ZpZWxkXzcwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzcwMCRYNzAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNzAwJFg3MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNzAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNzAwJFg3MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzcwMCRYNzAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCkJOX3dzcG9sdHdvcmNhIDwtIG1hcmNfZmllbGRfNzAwICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3NvYmEgPSBgJGFgLGZ1bmtjamEgPSBgJGVgKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShmdW5rY2phKSkgJT4lDQogIG11dGF0ZShvc29iYSA9IHN0cl9yZW1vdmUob3NvYmEsIig/PD1bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pKFxcLiQpIiksDQogICAgICAgICBPU19OQVpXSVNLTyA9IGlmZWxzZShncmVwbCgiLCIsb3NvYmEpLHN0cl9yZXBsYWNlX2FsbChvc29iYSwiKC4qPykoLCApKC4qKSIsIlxcMSIpLGFzLmNoYXJhY3Rlcihvc29iYSkpLA0KICAgICAgICAgT1NfSU1JRSA9IGlmZWxzZShncmVwbCgiLCIsb3NvYmEpLHN0cl9yZXBsYWNlX2FsbChvc29iYSwiKC4qPykoLCApKC4qKSIsIlxcMyIpLCIqIiksDQogICAgICAgICB3c19wcm9zdHkgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKG9zb2JhKSwgIlxcVyIsICIiKSwNCiAgICAgICAgIGZ1X3Byb3N0YSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfdG9fbG93ZXIoZnVua2NqYSksICJcXFciLCAiIikpICU+JQ0KICBsZWZ0X2pvaW4oLixQQkxfd3Nwb2x0d29yY3kgJT4lIHNlbGVjdChPU19PU09CQV9JRCxPU19MSUNaQkFfWkFQSVNPVyxuYXp3YV9wcm9zdGEpLGJ5PWMoIndzX3Byb3N0eSI9Im5hendhX3Byb3N0YSIpKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxPU19OQVpXSVNLTyxPU19JTUlFLC1PU19MSUNaQkFfWkFQSVNPVykNCkJOX3dzcG9sdHdvcmNhJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZChCTl93c3BvbHR3b3JjYVsxOjJdKSkNCkJOX3dzcG9sdHdvcmNhIDwtIEJOX3dzcG9sdHdvcmNhWyFkdXBsaWNhdGVkKEJOX3dzcG9sdHdvcmNhJGlkX2dydXB5KSxdICU+JQ0KICBsZWZ0X2pvaW4oLixQQkxfZnVua2NqZSxieT1jKCJmdV9wcm9zdGEiPSJuYXp3YSIpKSAlPiUNCiAgbXV0YXRlKGZvX3N5bWJvbCA9IGlmZWxzZShmb19zeW1ib2w9PSJOVUxMIixOQSxhcy5jaGFyYWN0ZXIoZm9fc3ltYm9sKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksT1NfTkFaV0lTS08sT1NfSU1JRSxPU19PU09CQV9JRCxmb19zeW1ib2wsZm9fbmF6d2EsZnVua2NqYSkNCg0KI3R1dGFqIHByemVzenVrYcSHIFgyNDUgaSB6bmFsZcW6xIcgYsWCxJlkeSB3c3DDs8WCdHfDs3Jjw7N3DQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfMjQ1IDwtIG1hcmNfZmllbGRfMjQ1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NWM9YCRjYCkNCg0KQk5fd3Nwb2x0d29yY2EgPC0gQk5fd3Nwb2x0d29yY2EgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMjQ1LGJ5PSJaQV9VV0FHSSIpDQoNCnggPC0gMTpsZW5ndGhzKEJOX3dzcG9sdHdvcmNhWzFdKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgQk5fd3Nwb2x0d29yY2EkY3p5X25hendpc2tvW2ldIDwtIHN0cl9kZXRlY3QoQk5fd3Nwb2x0d29yY2EkWDI0NWNbaV0sQk5fd3Nwb2x0d29yY2EkT1NfTkFaV0lTS09baV0pDQogIEJOX3dzcG9sdHdvcmNhJGN6eV9pbWllW2ldIDwtIGdyZXBsKEJOX3dzcG9sdHdvcmNhJE9TX0lNSUVbaV0sQk5fd3Nwb2x0d29yY2EkWDI0NWNbaV0pDQp9DQoNCkJOX3dzcG9sdHdvcmNhIDwtIEJOX3dzcG9sdHdvcmNhICU+JQ0KICBtdXRhdGUoWkFfQUROT1RBQ0pFID0gaWZlbHNlKGN6eV9uYXp3aXNrbz09RkFMU0V8Y3p5X2ltaWU9PUZBTFNFLHBhc3RlKCJVV0FHQSEgS29uZmxpa3QgdyBkYW55Y2ggb3NvYm93eWNoIHcgcG9sYWNoIDcwMCBpIDI0NS4gUG9yw7N3bmFqIHBvbGEgd3Nww7PFgnTDs3Jjw7N3IHcgZm9ybXVsYXJ6dSB6IHBvbGVtIEJOOiAiLFgyNDVjLHNlcCA9ICIiKSxOQSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksT1NfTkFaV0lTS08sT1NfSU1JRSxPU19PU09CQV9JRCxmb19zeW1ib2wsZm9fbmF6d2EsZnVua2NqYSxaQV9BRE5PVEFDSkUpDQoNCiM3OiBvcGlzIHdzcMOzxYJ0d8OzcmPDs3cNCm9waXNfd3Nwb2x0d29yY293IDwtIEJOX3dzcG9sdHdvcmNhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksZnVua2NqYSxPU19JTUlFLE9TX05BWldJU0tPKSAlPiUNCiAgZnVsbF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikgJT4lDQogIGZpbHRlcighaXMubmEoT1NfTkFaV0lTS08pfChpcy5uYShPU19OQVpXSVNLTykmZ3JlcGwoImV0IGFsXFwuIixYMjQ1YykpKSAlPiUNCiAgbXV0YXRlKGplc3RfZXRfYWwgPSBncmVwbCgiZXQgYWxcXC4iLFgyNDVjKSwNCiAgICAgICAgIE9TX0lNSUUgPSBpZmVsc2UoT1NfSU1JRT09IioiLCIiLGFzLmNoYXJhY3RlcihPU19JTUlFKSksDQogICAgICAgICBvcGlzID0gaWZlbHNlKCFpcy5uYShPU19OQVpXSVNLTykscGFzdGUoZnVua2NqYSxPU19JTUlFLCBPU19OQVpXSVNLTywgc2VwID0gIiAiKSwiIiksDQogICAgICAgICBvcGlzID0gc3RyX3JlcGxhY2VfYWxsKG9waXMsIiArIiwiICIpLA0KICAgICAgICAgb3BpcyA9IGlmZWxzZShvcGlzPT0iICIsIiIsYXMuY2hhcmFjdGVyKG9waXMpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvcGlzLGplc3RfZXRfYWwpICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShvcGlzID0gcGFzdGUob3Bpcyxjb2xsYXBzZSA9ICIsICIpLA0KICAgICAgICAgamVzdF9ldF9hbCA9IHBhc3RlKHVuaXF1ZShqZXN0X2V0X2FsKSxzZXAgPSAiIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUob3BpcyA9IGlmZWxzZShqZXN0X2V0X2FsPT1UUlVFJm9waXM9PSIiLCJldCBhbC4iLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoamVzdF9ldF9hbCxwYXN0ZShvcGlzLCJldCBhbC4iLHNlcCA9ICIgIiksb3BpcykpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLG9waXMpDQoNCiM3MDANCm1hcmNfZmllbGRfNzAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNzAwKSU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDcwMD1zdHJfcmVwbGFjZV9hbGwoWDcwMCwiKC4uXFwkYSkiLCJ8XFwxIiksDQogICAgICAgICBYNzAwPXN0cl9yZXBsYWNlX2FsbChYNzAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg3MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDcwMD1zdHJfcmVtb3ZlX2FsbChYNzAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg3MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkgJT4lDQogIGZpbHRlcihYNzAwIT0iIikNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNzAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNzAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzcwMDwtY2JpbmQobWFyY19maWVsZF83MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF83MDAkWDcwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzcwMCRYNzAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzcwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzcwMCRYNzAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF83MDAkWDcwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF83MDAgPC0gbWFyY19maWVsZF83MDAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvc29iYSA9IGAkYWAsZnVua2NqYSA9IGAkZWApICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGZ1bmtjamEpKSAlPiUNCiAgbXV0YXRlKG9zb2JhID0gc3RyX3JlbW92ZShvc29iYSwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSwNCiAgICAgICAgIE9TX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKG9zb2JhKSksDQogICAgICAgICBPU19JTUlFID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwzIiksIioiKSwNCiAgICAgICAgIGZ1bmtjamFfZHV6YSA9IHN0cl90b19sb3dlcihmdW5rY2phKSwNCiAgICAgICAgIG9waXMgPSBwYXN0ZShmdW5rY2phX2R1emEsT1NfSU1JRSxPU19OQVpXSVNLTywgc2VwID0gIiAiKSwNCiAgICAgICAgIG9waXNfZHV6eSA9IHBhc3RlKGZ1bmtjamEsT1NfSU1JRSxPU19OQVpXSVNLTywgc2VwID0gIiAiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvcGlzLG9waXNfZHV6eSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKG9waXMgPSBwYXN0ZShvcGlzLGNvbGxhcHNlID0gIi4gIiksDQogICAgICAgICBvcGlzX2R1enkgPSBwYXN0ZShvcGlzX2R1enksY29sbGFwc2UgPSAiLiAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkNCg0KI29waXMgd3Nww7PFgnR3w7NyY8OzdyB6ZSBzdHJlZnkgb2Rwb3dpZWR6aWFsbm/Fm2NpIDI0NQ0KbWFyY19maWVsZF8yNDUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDUpJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIn4iKSwNCiAgICAgICAgIFgyNDU9c3RyX3JlcGxhY2VfYWxsKFgyNDUsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI0NSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjQ1IT0iIikgJT4lDQogIG11dGF0ZShYMjQ1PXN0cl9yZW1vdmVfYWxsKFgyNDUsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNDUsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNDUpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjQ1PC1jYmluZChtYXJjX2ZpZWxkXzI0NSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI0NSRYMjQ1IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjQ1JFgyNDUsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjQ1WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjQ1JFgyNDUpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI0NSRYMjQ1KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzI0NSA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkY2ApDQoNCiNwb3LDs3duYW5pZSBvcGlzdSB3c3DDs8WCdHfDs3Jjw7N3IHogMjQ1IGkgNzAwDQp3c3BvbHR3b3JjeSA8LSBtYXJjX2ZpZWxkXzcwMCAlPiUNCiAgZnVsbF9qb2luKC4sbWFyY19maWVsZF8yNDUsYnk9IlpBX1VXQUdJIikgJT4lDQogIGNTcGxpdCguLCIkYyIsc2VwID0gIiA7ICIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgI29ncmFuaWN6YW5pZSBvc8OzYiB6ZSBzdHJlZnkgb2Rwb3dpZWR6aWFsbm/Fm2NpDQogIG11dGF0ZShjenlfbWFsYSA9IGdyZXBsKCIgW2EtesSZw7PEhcWbxYLFvMW6xIfFhF18XlthLXrEmcOzxIXFm8WCxbzFusSHxYRdfFxcW1thLXrEmcOzxIXFm8WCxbzFusSHxYRdIixgJGNgLGlnbm9yZS5jYXNlID0gRkFMU0UpKSAlPiUNCiAgZmlsdGVyKGN6eV9tYWxhPT1UUlVFKSAlPiUNCiAgc2VsZWN0KC1jenlfbWFsYSkgJT4lDQogICNtdXRhdGUoYCRjYCA9IGdzdWIoIl4oXFxbKXswLDF9KFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkiLCJcXDFcXFVcXDIiLHBlcmwgPSBUUlVFLGAkY2ApKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoWDI0NSA9IHBhc3RlKGAkY2AsIGNvbGxhcHNlID0gIiwgIikpICU+JQ0KICBzZWxlY3QoLWAkY2ApICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKG9yZGVyX3BibCA9IGFzLmNoYXJhY3RlcihzdHJfZXh0cmFjdF9hbGwob3BpcywiKD88PV58IHxcXFt8LSkoW0EtWkHDgcOAw4LDg8OExILEgMOFxITDhkXDicOIw4rDi8SaxJLElsSYScONw4zDjsOPxKrErklPw5PDksOUw5XDlsWQw5jFklXDmsOZw5vDnMWwxarFr1nDnUPEhsSMw6dExI7EkMSQR8SixJ5LxLZMxYHEu07Fg8ORxYfFhcWKUsWYU8WaxaDFnlPDn1TFpMWmw57FojhaxbvFucW9YS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0pIikpLA0KICAgICAgICAgb3JkZXJfcGJsID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyX3BibCwiKC4qP1wiKSguKShcIi4qPy4pIiwgIlxcMiIpLA0KICAgICAgICAgb3JkZXJfYm4gPSBhcy5jaGFyYWN0ZXIoc3RyX2V4dHJhY3RfYWxsKFgyNDUsIig/PD1efCB8XFxbfC0pKFtBLVpBw4HDgMOCw4PDhMSCxIDDhcSEw4ZFw4nDiMOKw4vEmsSSxJbEmEnDjcOMw47Dj8SqxK5JT8OTw5LDlMOVw5bFkMOYxZJVw5rDmcObw5zFsMWqxa9Zw51DxIbEjMOnRMSOxJDEkEfEosSeS8S2TMWBxLtOxYPDkcWHxYXFilLFmFPFmsWgxZ5Tw59UxaTFpsOexaI4WsW7xbnFvWEtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dKSIpKSwNCiAgICAgICAgIG9yZGVyX2JuID0gc3RyX3JlcGxhY2VfYWxsKG9yZGVyX2JuLCIoLio/XCIpKC4pKFwiLio/LikiLCAiXFwyIiksDQogICAgICAgICBYMjQ1ID0gc3RyX3JlbW92ZShYMjQ1LCAiXFwuJCIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwgIlxcWyIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwgIlxcXSIpLA0KICAgICAgICAgb3JkZXJfcGJsID0gc3RyX3JlbW92ZV9hbGwob3JkZXJfcGJsLCAiW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dIiksDQogICAgICAgICBvcmRlcl9ibiA9IHN0cl9yZW1vdmVfYWxsKG9yZGVyX2JuLCAiW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dIiksDQogICAgICAgICB0b19zYW1vID0gb3JkZXJfcGJsPT1vcmRlcl9ibiwNCiAgICAgICAgIFgyNDUgPSBnc3ViKCIoXlthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoLiopIiwiXFxVXFwxXFxFXFwyIixwZXJsID0gVFJVRSwgWDI0NSkpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9qZXp5a19vcnlnaW5hbHUsYnk9IlpBX1VXQUdJIikgJT4lDQogIG11dGF0ZShjenlfcGwgPSBncmVwbCgicG9sIixaQV9KRVpZS19PUllHSU5BTFUpfGlzLm5hKFpBX0pFWllLX09SWUdJTkFMVSksDQogICAgICAgICBkZWN5emphID0gaWZlbHNlKHRvX3NhbW89PUZBTFNFfGN6eV9wbD09RkFMU0UsRkFMU0UsVFJVRSkpDQoNCnphX29waXNfd3Nwb2x0d29yY293IDwtIHdzcG9sdHdvcmN5ICU+JQ0KICBtdXRhdGUoemFfb3Bpc193c3BvbHR3b3Jjb3cgPSBpZmVsc2UoZGVjeXpqYT09VFJVRSxhcy5jaGFyYWN0ZXIoWDI0NSkscGFzdGUoWDI0NSxvcGlzX2R1enksc2VwID0gIiMiKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksb3Bpc19kdXp5LHphX29waXNfd3Nwb2x0d29yY293KSAlPiUNCiAgY1NwbGl0KC4sInphX29waXNfd3Nwb2x0d29yY293IixzZXAgPSAiIyIsZGlyZWN0aW9uID0gIndpZGUiKSAlPiUNCiAgbXV0YXRlKHphX29waXNfd3Nwb2x0d29yY293XzIgPSBpZmVsc2UoaXMubmEoemFfb3Bpc193c3BvbHR3b3Jjb3dfMiksJycsYXMuY2hhcmFjdGVyKHphX29waXNfd3Nwb2x0d29yY293XzIpKSwNCiAgICAgICAgIHRvX3NhbW8gPSB6YV9vcGlzX3dzcG9sdHdvcmNvd18xPT16YV9vcGlzX3dzcG9sdHdvcmNvd18yKSAlPiUNCiAgZmlsdGVyKHRvX3NhbW89PUZBTFNFKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoemFfb3Bpc193c3BvbHR3b3Jjb3cgPSBwYXN0ZSh6YV9vcGlzX3dzcG9sdHdvcmNvd18xLHphX29waXNfd3Nwb2x0d29yY293XzIsc2VwID0gIiMiKSwNCiAgICAgICAgIHphX29waXNfd3Nwb2x0d29yY293ID0gc3RyX3JlbW92ZV9hbGwoemFfb3Bpc193c3BvbHR3b3Jjb3csIlxcIyQiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSx6YV9vcGlzX3dzcG9sdHdvcmNvdykNCg0Kb3Bpc193c3BvbHR3b3Jjb3cgPC0gb3Bpc193c3BvbHR3b3Jjb3cgJT4lDQogIGZpbHRlcihaQV9VV0FHSSAlbm90aW4lIHphX29waXNfd3Nwb2x0d29yY293JFpBX1VXQUdJKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShvcGlzKSkgJT4lDQogIHJlbmFtZSh6YV9vcGlzX3dzcG9sdHdvcmNvdyA9IG9waXMpDQoNCnphX29waXNfd3Nwb2x0d29yY293IDwtIHphX29waXNfd3Nwb2x0d29yY293ICU+JQ0KICBiaW5kX3Jvd3MoLixvcGlzX3dzcG9sdHdvcmNvdykgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiM4IHd5ZGFuaWUNCm1hcmNfZmllbGRfMjUwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjUwKSU+JQ0KICBmaWx0ZXIoWDI1MCE9IiIpICU+JQ0KICBtdXRhdGUoWDI1MD1zdHJfcmVwbGFjZV9hbGwoWDI1MCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjUwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNTAhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNTA9c3RyX3JlbW92ZV9hbGwoWDI1MCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjUwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI1MCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI1MClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNTA8LWNiaW5kKG1hcmNfZmllbGRfMjUwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjUwJFgyNTAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNTAkWDI1MCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNTBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNTAkWDI1MCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjUwJFgyNTApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KemFfd3lkYW5pZSA8LSBtYXJjX2ZpZWxkXzI1MCAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCB3eWRhbmllID0gYCRhYCkgJT4lDQogIG11dGF0ZSh3eWRhbmllID0gc3RyX3JlbW92ZSh3eWRhbmllLCIgXFwvJCIpKSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzk6IGluc3R5dHVjamEgc3ByYXdjemENCm1hcmNfZmllbGRfMjQ1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJ+IiksDQogICAgICAgICBYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KDQp6YV9pbnN0eXR1Y2phIDwtIG1hcmNfZmllbGRfMjQ1ICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NWM9YCRjYCkgJT4lDQogIGZpbHRlcighaXMubmEoWDI0NWMpKSAlPiUNCiAgbXV0YXRlKGluc3R5dHVjamEgPSBpZmVsc2UoZ3JlcGwoIlxcOyIsWDI0NWMpLHN0cl9yZXBsYWNlX2FsbChYMjQ1YywgIiguKj8pKFxcOyg/IS4qXFw7KSkoICkrKC4qPyQpIiwiXFw0IiksIiIpKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3Nwb2x0d29yY2EsYnk9IlpBX1VXQUdJIikNCg0KeCA8LSAxOmxlbmd0aHMoemFfaW5zdHl0dWNqYVsxXSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHphX2luc3R5dHVjamEkY3p5X25hendpc2tvW2ldIDwtIGdyZXBsKHphX2luc3R5dHVjamEkT1NfTkFaV0lTS09baV0semFfaW5zdHl0dWNqYSRYMjQ1Y1tpXSkNCiAgemFfaW5zdHl0dWNqYSRjenlfaW1pZVtpXSA8LSBncmVwbCh6YV9pbnN0eXR1Y2phJE9TX0lNSUVbaV0semFfaW5zdHl0dWNqYSRYMjQ1Y1tpXSkNCn0NCg0KemFfaW5zdHl0dWNqYSA8LSB6YV9pbnN0eXR1Y2phICU+JQ0KICBmaWx0ZXIoaXMubmEoY3p5X25hendpc2tvKSZpcy5uYShjenlfaW1pZSkpICU+JQ0KICBmaWx0ZXIoaW5zdHl0dWNqYSE9IiIpICU+JQ0KICBmaWx0ZXIoIWdyZXBsKCJeXFxbW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dfF5bYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvl0iLGluc3R5dHVjamEpKSAlPiUNCiAgbXV0YXRlKGluc3R5dHVjamEgPSBzdHJfcmVtb3ZlKGluc3R5dHVjamEsIlxcLiQiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxpbnN0eXR1Y2phKSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzEwOiB3eWRhd25pY3R3bw0KQk5fd3lkYXduaWN0d28gPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCBYMjYwKSAlPiUNCiAgbXV0YXRlKFgyNjAgPSBzdHJfcmVwbGFjZV9hbGwoWDI2MCwic1xcLm5cXC4iLCAiYi53LiIpLCANCiAgICAgICAgIFgyNjAgPSBzdHJfcmVwbGFjZV9hbGwoWDI2MCwic1xcLmxcXC4iLCAiYi5tLiIpLCANCiAgICAgICAgIFgyNjAgPSBzdHJfcmVwbGFjZV9hbGwoWDI2MCwiU1xcLmxcXC4iLCAiYi5tLiIpLCANCiAgICAgICAgIFgyNjAgPSBzdHJfcmVtb3ZlKFgyNjAsIl5cXFxcKyIpLCANCiAgICAgICAgIHJva193eWRhbmlhID0gc3RyX2V4dHJhY3RfYWxsKFgyNjAsICIoPzw9XFwkYykuKig/PVxcJGUpfCg/PD1cXCRjKS4qIiksIA0KICAgICAgICAgYmV6X3Jva3UgPSBzdHJfcmVwbGFjZV9hbGwoWDI2MCwgIi5cXCRjLioiLCAiIiksIA0KICAgICAgICAgaWxlX3d5ZGF3bmljdHcgPSBzdHJfY291bnQoYmV6X3Jva3UsICJcXCRiIiksDQogICAgICAgICBpbGVfbWllanNjID0gc3RyX2NvdW50KGJlel9yb2t1LCAiXFwkYSIpLA0KICAgICAgICAga29sZWpub3NjID0gc3RyX3JlcGxhY2VfYWxsKGFzLmNoYXJhY3RlcihzdHJfZXh0cmFjdF9hbGwoYmV6X3Jva3UsICJcXCQuIikpLCAiW15hLXpdIiwgIiIpLA0KICAgICAgICAgYmV6X3Jva3UgPSBzdHJfcmVwbGFjZV9hbGwoYmV6X3Jva3UsICI7XFwkYiIsICI6JGIiKSwNCiAgICAgICAgIHd5ZGF3X3BvZHppZWwgPSBpZmVsc2UoaWxlX3d5ZGF3bmljdHc+aWxlX21pZWpzY3xrb2xlam5vc2M9PSJjYWFiYiIsIHN0cl9yZXBsYWNlX2FsbChiZXpfcm9rdSwgIihcXCRhKSguKj8pKCA6XFwkYi4qPykoIDpcXCRiKSIsICJcXDFcXDJcXDMgOyRhXFwyXFw0IiksYmV6X3Jva3UpLA0KICAgICAgICAgd3lkYXduaWN0d29fdGVzdCA9IHN0cl9yZXBsYWNlX2FsbCh3eWRhd19wb2R6aWVsLCAiKFxcJGIpKC4qPykoIDtcXCRhKSIsICJcXDFcXDJ8XFwzIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kscm9rX3d5ZGFuaWEsd3lkYXduaWN0d29fdGVzdCkgJT4lDQogIGNTcGxpdCguLCAid3lkYXduaWN0d29fdGVzdCIsIHNlcCA9ICJ8IiwgZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgbXV0YXRlKHd5ZGF3bmljdHdvID0gc3RyX2V4dHJhY3RfYWxsKHd5ZGF3bmljdHdvX3Rlc3QsICIoPzw9XFwkYikoLiopIiksDQogICAgICAgICBtaWVqc2NlX3d5ZGFuaWEgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX2V4dHJhY3RfYWxsKHd5ZGF3bmljdHdvX3Rlc3QsICIoPzw9XFwkYSkoLiopKD89IHswLDF9OiB7MCwxfVxcJGIpfCg/PD1cXCRhKSguKikoJCkiKSwiIDtcXCRhIiwgIiwgIiksDQogICAgICAgICBuYXp3YV9wcm9zdGEgPSBzdHJfdG9fbG93ZXIoc3RyX3JlcGxhY2VfYWxsKHN0cl9yZXBsYWNlX2FsbCh1bmxpc3Qod3lkYXduaWN0d29fdGVzdCksICJcXCRcXHciLCAiIiksICJcXFciLCAiIikpKSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX3d5ZGF3bmljdHdhLGJ5PSJuYXp3YV9wcm9zdGEiKSAlPiUNCiAgbXV0YXRlKHRvX3NhbW8gPSB3eWRhd25pY3R3bz09V1lfTkFaV0EpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLC10b19zYW1vLC1XWV9MSUNaQkFfWkFQSVNPVykNCkJOX3d5ZGF3bmljdHdvJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZChCTl93eWRhd25pY3R3b1sxOjNdKSkNCkJOX3d5ZGF3bmljdHdvIDwtIEJOX3d5ZGF3bmljdHdvWyFkdXBsaWNhdGVkKEJOX3d5ZGF3bmljdHdvJGlkX2dydXB5KSxdICU+JQ0KICBtdXRhdGUoV1lfTkFaV0EgPSBpZmVsc2UoIWlzLm5hKFdZX05BWldBKSxhcy5jaGFyYWN0ZXIoV1lfTkFaV0EpLGFzLmNoYXJhY3Rlcih3eWRhd25pY3R3bykpLA0KICAgICAgICAgV1lfTUlBU1RPID0gaWZlbHNlKCFpcy5uYShXWV9NSUFTVE8pLGFzLmNoYXJhY3RlcihXWV9NSUFTVE8pLHRyaW0oYXMuY2hhcmFjdGVyKG1pZWpzY2Vfd3lkYW5pYSkpKSwNCiAgICAgICAgIHJva193eWRhbmlhID0gc3RyX3JlcGxhY2VfYWxsKHJva193eWRhbmlhLCAiKC4qKShcXC4pIiwgIlxcMSIpLA0KICAgICAgICAgemFfcm9rX3d5ZGFuaWEgPSBpZmVsc2UobmNoYXIocm9rX3d5ZGFuaWEpPT00LGFzLmNoYXJhY3Rlcihyb2tfd3lkYW5pYSksTkEpLA0KICAgICAgICAgZG9fb3Bpc3UgPSBpZmVsc2UoaXMubmEoemFfcm9rX3d5ZGFuaWEpLHBhc3RlKCJbIixzdHJfZXh0cmFjdChyb2tfd3lkYW5pYSwiXFxkezR9IiksIl0iLHNlcCA9ICIiKSwiIiksDQogICAgICAgICBXWV9NSUFTVE8gPSBpZmVsc2Uoc3Vic3RyKFdZX01JQVNUTywxLDEpPT0iWyImc3Vic3RyKFdZX01JQVNUTyxuY2hhcihXWV9NSUFTVE8pLG5jaGFyKFdZX01JQVNUTykpIT0iXSImaXMubmEoV1lfV1lEQVdOSUNUV09fSUQpLHBhc3RlKHRyaW0oV1lfTUlBU1RPKSwiXSIsc2VwID0gIiIpLGFzLmNoYXJhY3RlcihXWV9NSUFTVE8pKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxXWV9XWURBV05JQ1RXT19JRCxXWV9OQVpXQSxXWV9NSUFTVE8semFfcm9rX3d5ZGFuaWEsZG9fb3Bpc3UpICU+JSANCiAgbXV0YXRlKFdZX05BWldBID0gaWZlbHNlKHN0cl9jb3VudChXWV9OQVpXQSwgIlxcWyIpPnN0cl9jb3VudChXWV9OQVpXQSwgIlxcXSIpLCBwYXN0ZShXWV9OQVpXQSwgIl0iLCBzZXAgPSAiIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2Uoc3RyX2NvdW50KFdZX05BWldBLCAiXFxbIik8c3RyX2NvdW50KFdZX05BWldBLCAiXFxdIiksIHBhc3RlKCJbIiwgV1lfTkFaV0EsIHNlcCA9ICIiKSwgYXMuY2hhcmFjdGVyKFdZX05BWldBKSkpLA0KICAgICAgICAgV1lfTUlBU1RPID0gaWZlbHNlKHN0cl9jb3VudChXWV9NSUFTVE8sICJcXFsiKT5zdHJfY291bnQoV1lfTUlBU1RPLCAiXFxdIiksIHBhc3RlKFdZX01JQVNUTywgIl0iLCBzZXAgPSAiIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2Uoc3RyX2NvdW50KFdZX01JQVNUTywgIlxcWyIpPHN0cl9jb3VudChXWV9NSUFTVE8sICJcXF0iKSwgcGFzdGUoIlsiLCBXWV9NSUFTVE8sIHNlcCA9ICIiKSwgYXMuY2hhcmFjdGVyKFdZX01JQVNUTykpKSkNCg0KIzExOiBvcGlzIGZpenljem55IGtzacSFxbxraQ0KI3BvbGUgMzAwIGRvIG9waXN1IGZpenljem5lZ28NCm1hcmNfZmllbGRfMzAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMzAwKSU+JQ0KICBmaWx0ZXIoWDMwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDMwMD1zdHJfcmVwbGFjZV9hbGwoWDMwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMzAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgzMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgzMDA9c3RyX3JlbW92ZV9hbGwoWDMwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMzAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDMwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzMwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8zMDA8LWNiaW5kKG1hcmNfZmllbGRfMzAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMzAwJFgzMDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8zMDAkWDMwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8zMDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8zMDAkWDMwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMzAwJFgzMDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfMzAwIDwtIG1hcmNfZmllbGRfMzAwICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpLA0KICAgICAgICAgYCRiYCA9IHN0cl9yZW1vdmUoYCRiYCwiIFxcOyskfCBcXDorJCIpLA0KICAgICAgICAgYCRlYCA9IGlmZWxzZShncmVwbCgiQ0QtUk9NfERWRHxWQ0R8Q0QiLGAkZWApJmdyZXBsKCJcXCsgZHlza3xwxYJ5dCIsYCRlYCksc3RyX2V4dHJhY3QoYCRlYCwiKD88PVxcKykoZHlza3xwxYJ5dC4qPykoQ0QtUk9NfERWRHxWQ0R8Q0QpKFxcKSl7MCwxfSIpLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIkNELVJPTXxEVkR8VkNEfENEIixgJGVgKSxzdHJfZXh0cmFjdChgJGVgLCIoXi4qPykoQ0QtUk9NfERWRHxWQ0R8Q0QpKFxcKSl7MCwxfSIpLE5BKSksDQogICAgICAgICBgJGFgID0gaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksDQogICAgICAgICBgJGJgID0gaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksDQogICAgICAgICBgJGVgID0gaWZlbHNlKGlzLm5hKGAkZWApLCIiLGFzLmNoYXJhY3RlcihgJGVgKSkpDQojcG9sZSA1MDAgZG8gb3Bpc3UgZml6eWN6bmVnbw0KbWFyY19maWVsZF81MDAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg1MDApJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZXBsYWNlX2FsbChYNTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg1MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVtb3ZlX2FsbChYNTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg1MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzUwMDwtY2JpbmQobWFyY19maWVsZF81MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF81MDAkWDUwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzUwMCRYNTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzUwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzUwMCRYNTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF81MDAkWDUwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF81MDAgPC0gbWFyY19maWVsZF81MDAgJT4lDQogIG11dGF0ZShgJGFgID0gaWZlbHNlKGdyZXBsKCJvcnlnKFxcLnxcXCwpIixYNTAwKSZncmVwbCgicHNldWR8bmF6d2EiLFg1MDAsaWdub3JlLmNhc2UgPSBUUlVFKSxzdHJfcmVwbGFjZShgJGFgLCIoXi4qPykoXFwuICkoXFxwe0x1fS4qJCkiLCJcXDMiKSxhcy5jaGFyYWN0ZXIoYCRhYCkpKSAlPiUgDQogIGZpbHRlcighZ3JlcGwoIm9yeWcoXFwufFxcLCkiLGAkYWApJmdyZXBsKCJwc2V1ZHxuYXp3YXxkb3R5Y3p8cG9sIixgJGFgLGlnbm9yZS5jYXNlID0gVFJVRSkpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpKQ0KICANCiNwb2xlIDU0NiBkbyBvcGlzdSBmaXp5Y3puZWdvDQptYXJjX2ZpZWxkXzU0NiA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDU0NiklPiUNCiAgZmlsdGVyKFg1NDYhPSIiKSAlPiUNCiAgbXV0YXRlKFg1NDY9c3RyX3JlcGxhY2VfYWxsKFg1NDYsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDU0NiIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNTQ2IT0iIikgJT4lDQogIG11dGF0ZShYNTQ2PXN0cl9yZW1vdmVfYWxsKFg1NDYsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDU0NiwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg1NDYsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF81NDYpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNTQ2PC1jYmluZChtYXJjX2ZpZWxkXzU0NixlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzU0NiRYNTQ2IDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNTQ2JFg1NDYsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNTQ2WyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNTQ2JFg1NDYpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzU0NiRYNTQ2KSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzU0NiA8LSBtYXJjX2ZpZWxkXzU0NiAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIiBcXDsrJHwgXFw6KyQiKSkNCg0KemFfb3Bpc19rcyA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93eWRhd25pY3R3byAlPiUgc2VsZWN0KFpBX1VXQUdJLGRvX29waXN1KSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8zMDAgJT4lIHNlbGVjdChaQV9VV0FHSSxYMzAwYT1gJGFgLFgzMDBiPWAkYmAsWDMwMGU9YCRlYCksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfNTAwICU+JSBzZWxlY3QoWkFfVVdBR0ksWDUwMGE9YCRhYCksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfNTQ2ICU+JSBzZWxlY3QoWkFfVVdBR0ksWDU0NmE9YCRhYCksYnk9IlpBX1VXQUdJIikNCnphX29waXNfa3NbaXMubmEoemFfb3Bpc19rcyldICA8LSAiIg0KemFfb3Bpc19rcyA8LSB6YV9vcGlzX2tzICU+JQ0KICBtdXRhdGUoemFfb3Bpc19rcyA9IHBhc3RlKGlmZWxzZShkb19vcGlzdSE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKGRvX29waXN1KSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFgzMDBhIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDMwMGEpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDMwMGIhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYMzAwYiksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYMzAwZSE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFgzMDBlKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFg1MDBhIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDUwMGEpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDU0NmEhPSIiLGFzLmNoYXJhY3RlcihYNTQ2YSksIiIpLHNlcCA9ICIiKSwNCiAgICAgICAgIHphX29waXNfa3MgPSBzdHJfcmVtb3ZlKHphX29waXNfa3MsIigsICkrJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHphX29waXNfa3MpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSwtbmNoYXIoemFfb3Bpc19rcykpDQp6YV9vcGlzX2tzJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZCh6YV9vcGlzX2tzWzFdKSkNCnphX29waXNfa3MgPC0gemFfb3Bpc19rc1shZHVwbGljYXRlZCh6YV9vcGlzX2tzJGlkX2dydXB5KSxdICU+JQ0KICBzZWxlY3QoLWlkX2dydXB5KQ0KDQojMTI6IHNlcmlhIHd5ZGF3bmljemENCm1hcmNfZmllbGRfNDkwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNDkwLFg4MDAsWDgzMCkgJT4lDQogIG11dGF0ZShYNDkwID0gaWZlbHNlKGdyZXBsKCJVXFwrIixYNDkwKSxhcy5jaGFyYWN0ZXIoWDgzMCksYXMuY2hhcmFjdGVyKFg0OTApKSkgJT4lDQogIG11dGF0ZShYODAwID0gaWZlbHNlKFg0OTAhPSIiLCIiLGFzLmNoYXJhY3RlcihYODAwKSksDQogICAgICAgICBYODMwID0gaWZlbHNlKFg0OTAhPSIiLCIiLGFzLmNoYXJhY3RlcihYODMwKSksDQogICAgICAgICBYODAwID0gc3RyX3JlcGxhY2UoWDgwMCwiKFxcJGEpKC4qKShcXCR0KSIsIlxcMSIpLA0KICAgICAgICAgWDQ5MCA9IGlmZWxzZShYNDkwPT0iIiZYODMwIT0iIixhcy5jaGFyYWN0ZXIoWDgzMCksDQogICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShYNDkwPT0iIiZYODAwIT0iIixhcy5jaGFyYWN0ZXIoWDgwMCksYXMuY2hhcmFjdGVyKFg0OTApKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDQ5MCkgJT4lDQogIGZpbHRlcihYNDkwIT0iIikgJT4lDQogIG11dGF0ZShYNDkwPXN0cl9yZXBsYWNlX2FsbChYNDkwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg0OTAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDQ5MCE9IiIpICU+JQ0KICBtdXRhdGUoWDQ5MD1zdHJfcmVtb3ZlX2FsbChYNDkwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg0OTAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNDkwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNDkwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzQ5MDwtY2JpbmQobWFyY19maWVsZF80OTAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF80OTAkWDQ5MCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzQ5MCRYNDkwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzQ5MFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzQ5MCRYNDkwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF80OTAkWDQ5MCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KemFfc2VyaWFfd3lkYXduaWN6YSA8LSBtYXJjX2ZpZWxkXzQ5MCAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVwbGFjZV9hbGwoYCRhYCwiKD0pKFxcJGEpIiwiXFwxICIpLA0KICAgICAgICAgYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpLA0KICAgICAgICAgYCR2YCA9IGlmZWxzZShpcy5uYShgJHZgKSwiIixhcy5jaGFyYWN0ZXIoYCR2YCkpKSAlPiUNCiAgZmlsdGVyKCFpcy5uYShgJGFgKSkgJT4lDQogIG11dGF0ZShzZXJpYSA9IHN0cl9yZW1vdmUocGFzdGUoIigiLGAkYWAsIjsgIixgJHZgLCIpIixzZXAgPSAiIiksIjsgKD89XFwpJCkiKSwNCiAgICAgICAgIHNlcmlhID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLHNlcmlhKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxzZXJpYSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKHNlcmlhID0gcGFzdGUoc2VyaWEsY29sbGFwc2UgPSAiICIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgbXV0YXRlKHNlcmlhID0gc3RyX3JlcGxhY2VfYWxsKHNlcmlhLCJcXCQuIiwiOyAiKSkgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiMxMzogdG9teQ0KemFfdG9teSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoemFfdG9teSA9IE5BKQ0KDQojMTQ6IGFkbm90YWNqZQ0KemFfYWRub3RhY2plIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLFpBX0FETk9UQUNKRSAlPiUgc2VsZWN0KFpBX1VXQUdJLFpBX0FETk9UQUNKRSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhICU+JSBzZWxlY3QoWkFfVVdBR0ksWkFfQUROT1RBQ0pFKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKFpBX0FETk9UQUNKRSA9IHBhc3RlKGlmZWxzZShpcy5uYShaQV9BRE5PVEFDSkUueCksIiIscGFzdGUoYXMuY2hhcmFjdGVyKFpBX0FETk9UQUNKRS54KSwiIyAiLHNlcCA9ICIiKSksaWZlbHNlKGlzLm5hKFpBX0FETk9UQUNKRS55KSwiIixhcy5jaGFyYWN0ZXIoWkFfQUROT1RBQ0pFLnkpKSxzZXAgPSAiIiksDQogICAgICAgICBaQV9BRE5PVEFDSkUgPSBzdHJfcmVtb3ZlKFpBX0FETk9UQUNKRSwiKCMgKSskIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfQUROT1RBQ0pFKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksLW5jaGFyKFpBX0FETk9UQUNKRSkpDQp6YV9hZG5vdGFjamUkaWRfZ3J1cHkgPC0gY3Vtc3VtKCFkdXBsaWNhdGVkKHphX2Fkbm90YWNqZVsxXSkpDQp6YV9hZG5vdGFjamUgPC0gemFfYWRub3RhY2plWyFkdXBsaWNhdGVkKHphX2Fkbm90YWNqZSRpZF9ncnVweSksXSAlPiUNCiAgc2VsZWN0KC1pZF9ncnVweSkNCg0KIzE1OiBCTl9VUkwNCkJOX1VSTCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksQk5fVVJMKQ0KDQojd3lyw7N3bmFuaWUgbGljemJ5IHdpZXJzenkgZG8gbGljemJ5IHdpZXJzenkgb2JpZWt0dSBkYXRhDQpCTl93c3BvbHR3b3JjYSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSAlPiUgc2VsZWN0KFpBX1VXQUdJLE9TX09TT0JBX0lELE9TX05BWldJU0tPLE9TX0lNSUUsZm9fc3ltYm9sKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgT1NfT1NPQkFfSUQgPSBwYXN0ZShPU19PU09CQV9JRCwgY29sbGFwc2U9InwiKSwgT1NfTkFaV0lTS08gPSBwYXN0ZShPU19OQVpXSVNLTywgY29sbGFwc2U9InwiKSwgT1NfSU1JRSA9IHBhc3RlKE9TX0lNSUUsIGNvbGxhcHNlPSJ8IiksIGZvX3N5bWJvbCA9IHBhc3RlKGZvX3N5bWJvbCwgY29sbGFwc2U9InwiKSkgJT4lDQogIG11dGF0ZShmb19zeW1ib2wgPSBpZmVsc2UoZm9fc3ltYm9sPT0iTlVMTCIsIk5BIixhcy5jaGFyYWN0ZXIoZm9fc3ltYm9sKSkpDQpCTl93eWRhd25pY3R3byA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93eWRhd25pY3R3byAlPiUgc2VsZWN0KFpBX1VXQUdJLFdZX1dZREFXTklDVFdPX0lELFdZX05BWldBLFdZX01JQVNUTyx6YV9yb2tfd3lkYW5pYSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGRkcGx5KC4sIC4oWkFfVVdBR0kpLCBzdW1tYXJpemUsIFdZX1dZREFXTklDVFdPX0lEID0gcGFzdGUoV1lfV1lEQVdOSUNUV09fSUQsIGNvbGxhcHNlPSJ8IiksIFdZX05BWldBID0gcGFzdGUoV1lfTkFaV0EsIGNvbGxhcHNlPSJ8IiksIFdZX01JQVNUTyA9IHBhc3RlKFdZX01JQVNUTywgY29sbGFwc2U9InwiKSwgemFfcm9rX3d5ZGFuaWEgPSBwYXN0ZSh1bmlxdWUoemFfcm9rX3d5ZGFuaWEpLCBjb2xsYXBzZT0ifCIpKSAlPiUNCiAgbXV0YXRlKHphX3Jva193eWRhbmlhID0gaWZlbHNlKHphX3Jva193eWRhbmlhPT0iTkEiLCIiLGFzLmludGVnZXIoemFfcm9rX3d5ZGFuaWEpKSkNCg0KI3BvxYLEhWN6ZW5pZSB3c3p5c3RraWNoIGVsZW1lbnTDs3cgdyBqZWRuxIUgdGFiZWzEmQ0Ka29sZWpub3NjIDwtIGRhdGEuZnJhbWUoa29sZWpub3NjPWMoIlpBX1VXQUdJIiwiUlpfTkFaV0EiLCJaQV9ST19ST0siLCJaQV9UWVBFIiwiUlpfUk9EWkFKX0lEIiwiRFpfTkFaV0EiLCJEWl9EWklBTF9JRCIsIlRXX1RXT1JDQV9JRCIsIkFNX0FVVE9SX0lEIiwiQU1fTkFaV0lTS08iLCJBTV9JTUlFIiwiWkFfVFlUVUwiLCJaQV9UWVRVTF9PUllHSU5BTFUiLCJaQV9KRVpZS19PUllHSU5BTFUiLCJPU19PU09CQV9JRCIsIk9TX05BWldJU0tPIiwiT1NfSU1JRSIsImZvX3N5bWJvbCIsInphX29waXNfd3Nwb2x0d29yY293Iiwid3lkYW5pZSIsInphX3RvbXkiLCJpbnN0eXR1Y2phIiwiV1lfV1lEQVdOSUNUV09fSUQiLCJXWV9NSUFTVE8iLCJXWV9OQVpXQSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19rcyIsInNlcmlhIiwiVFdfTkFaV0lTS08iLCJUV19JTUlFIiwicmVkYWt0b3JfZHppYWx1IiwiWkFfQUROT1RBQ0pFIiwiQk5fVVJMIikpDQpwb2xhY3pvbmUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4scG9sYV9wYmwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWxfb3J5Z2luYWx1LGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2plenlrX29yeWdpbmFsdSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9vcGlzX3dzcG9sdHdvcmNvdyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV93eWRhbmllLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2luc3R5dHVjamEsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3lkYXduaWN0d28sYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfb3Bpc19rcyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9zZXJpYV93eWRhd25pY3phLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX3RvbXksYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfYWRub3RhY2plLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX1VSTCxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBzZWxlY3QoYXMudmVjdG9yKGtvbGVqbm9zYyRrb2xlam5vc2MpKQ0KY29sbmFtZXMocG9sYWN6b25lKSA8LSBjKCJyZWtvcmRfQk4iLCJyel9uYXp3YSIsInphX3JvX3JvayIsInphX3R5cGUiLCJyel9yb2R6YWpfaWQiLCJEWl9OQVpXQSIsIkRaX0RaSUFMX0lEIiwidHdfdHdvcmNhX2lkIiwiYW1fYXV0b3JfaWQiLCJhbV9uYXp3aXNrbyIsImFtX2ltaWUiLCJ6YV90eXR1bCIsInphX3R5dHVsX29yeWdpbmFsdSIsInphX2plenlrX29yeWdpbmFsdSIsIm9zX29zb2JhX2lkIiwib3NfbmF6d2lza28iLCJvc19pbWllIiwiZm9fc3ltYm9sIiwiemFfb3Bpc193c3BvbHR3b3Jjb3ciLCJ6YV93eWRhbmllIiwiemFfdG9teSIsInphX2luc3R5dHVjamEiLCJ3eV93eWRhd25pY3R3b19pZCIsInd5X21pZWpzY2UiLCJ3eV9uYXp3YSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIiwiemFfc2VyaWFfd3lkYXduaWN6YSIsInR3X25hendpc2tvIiwidHdfaW1pZSIsInByYWNvd25payIsInphX2Fkbm90YWNqZSIsIkJOX1VSTCIpDQoNCiN6YXN5Z25hbGl6b3dhbmllIG5pZXBvcHJhd25lZ28ga29kb3dhbmlhDQp4IDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCI8VVxcKyguLi4uKT4iLHBvbGFjem9uZVssaV0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkhPTAscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUiLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUiLHNlcCA9ICIiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KICBwb2xhY3pvbmVbLGldIDwtIGdzdWIoIjxVXFwrKC4uLi4pPiIsICI/Pz8iLCBwb2xhY3pvbmVbLGldKQ0KfQ0KI3phc3lnbmFsaXpvd2FuaWUgb2JlY25vxZtjaSB6bmFrdSAkIHcga3TDs3J5bcWbIHogcMOzbA0KWCA8LSAxOihsZW5ndGgocG9sYWN6b25lKS0yKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBwb2xhY3pvbmUkemFfYWRub3RhY2plIDwtIGlmZWxzZShncmVwbCgiXFwkIixwb2xhY3pvbmVbLGldKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKG5jaGFyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpPT0wLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gem5hayBcIiRcIi4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUscGFzdGUoIlVXQUdBISBaZSB3emdsxJlkdSBuYSBixYLEmWRueSB6YXBpcyBCTiB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiB3eWRydWtvd2FubyB6bmFrIFwiJFwiLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksc2VwID0gIiMgIikpLGFzLmNoYXJhY3Rlcihwb2xhY3pvbmUkemFfYWRub3RhY2plKSkNCn0NCiN6YXN5Z25hbGl6b3dhbmllIG9iZWNub8WbY2kgZnJhenkgImNoYXJhY3RlcigwKSIgdyBrdMOzcnltxZsgeiBww7NsDQpYIDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCJjaGFyYWN0ZXJcXCgwXFwpIixwb2xhY3pvbmVbLGldKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKG5jaGFyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpPT0wLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gZnJhesSZIFwiY2hhcmFjdGVyKDApXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxwYXN0ZShwb2xhY3pvbmUkemFfYWRub3RhY2plLHBhc3RlKCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEgYsWCxJlkbnkgemFwaXMgQk4gdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgd3lkcnVrb3dhbm8gZnJhesSZIFwiY2hhcmFjdGVyKDApXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KfQ0KI3phc3lnbmFsaXpvd2FuaWUgb2JlY25vxZtjaSB6bmFrdSAjIHcgb3Bpc2llIHdzcMOzxYJ0d8OzcmPDs3cNCnBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCJcXCMiLHBvbGFjem9uZSR6YV9vcGlzX3dzcG9sdHdvcmNvdyksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShuY2hhcihwb2xhY3pvbmUkemFfYWRub3RhY2plKT09MCwiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGtvbmZsaWt0IHcgb3Bpc2llIHdzcMOzxYJ0d8OzcmPDs3cgd3liaWVyeiB3xYJhxZtjaXfEhSB3YXJ0b8WbxIcgKHN0cmVmYSBvZHBvd2llZHppYWxub8WbY2kgXCIjXCIgd3Nww7PFgnR3w7NyY3kgeiBwb2xhIDcwMCkiLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUsIlVXQUdBISBaZSB3emdsxJlkdSBuYSBrb25mbGlrdCB3IG9waXNpZSB3c3DDs8WCdHfDs3Jjw7N3IHd5Ymllcnogd8WCYcWbY2l3xIUgd2FydG/Fm8SHIChzdHJlZmEgb2Rwb3dpZWR6aWFsbm/Fm2NpICMgd3Nww7PFgnR3w7NyY3kgeiBwb2xhIDcwMCkiLHNlcCA9ICIjICIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQoNCm91dCA8LSBjU3BsaXQocG9sYWN6b25lLCBjKCJhbV9hdXRvcl9pZCIsICJhbV9uYXp3aXNrbyIsICJhbV9pbWllIiwib3Nfb3NvYmFfaWQiLCJvc19uYXp3aXNrbyIsICJvc19pbWllIiwgImZvX3N5bWJvbCIsInd5X3d5ZGF3bmljdHdvX2lkIiwid3lfbWllanNjZSIsInd5X25hendhIiksc2VwID0gInwiLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIHVuaXF1ZSgpDQoNCm91dCRyZWtvcmRfQk4gPC0gaWZlbHNlKGlzLm5hKG91dCRyZWtvcmRfQk4pLCcnLGFzLmNoYXJhY3RlcihvdXQkcmVrb3JkX0JOKSkNCm91dCRyel9uYXp3YSA8LSBpZmVsc2UoaXMubmEob3V0JHJ6X25hendhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHJ6X25hendhKSkNCm91dCR6YV9yb19yb2sgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9yb19yb2spLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfcm9fcm9rKSkNCm91dCR6YV90eXBlIDwtIGlmZWxzZShpcy5uYShvdXQkemFfdHlwZSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90eXBlKSkNCm91dCRyel9yb2R6YWpfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCRyel9yb2R6YWpfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkcnpfcm9kemFqX2lkKSkNCm91dCREWl9OQVpXQSA8LSBpZmVsc2UoaXMubmEob3V0JERaX05BWldBKSwnJyxhcy5jaGFyYWN0ZXIob3V0JERaX05BWldBKSkNCm91dCREWl9EWklBTF9JRCA8LSBpZmVsc2UoaXMubmEob3V0JERaX0RaSUFMX0lEKSwnJyxhcy5jaGFyYWN0ZXIob3V0JERaX0RaSUFMX0lEKSkNCm91dCR0d190d29yY2FfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCR0d190d29yY2FfaWQpLCcnLGFzLmNoYXJhY3RlcihvdXQkdHdfdHdvcmNhX2lkKSkNCm91dCRhbV9hdXRvcl9pZCA8LSBpZmVsc2UoaXMubmEob3V0JGFtX2F1dG9yX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGFtX2F1dG9yX2lkKSkNCm91dCRhbV9uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JGFtX25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGFtX25hendpc2tvKSkNCm91dCRhbV9pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkYW1faW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCRhbV9pbWllKSkNCm91dCR6YV90eXR1bCA8LSBpZmVsc2UoaXMubmEob3V0JHphX3R5dHVsKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3R5dHVsKSkNCm91dCR6YV90eXR1bF9vcnlnaW5hbHUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV90eXR1bF9vcnlnaW5hbHUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfdHl0dWxfb3J5Z2luYWx1KSkNCm91dCR6YV9qZXp5a19vcnlnaW5hbHUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9qZXp5a19vcnlnaW5hbHUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfamV6eWtfb3J5Z2luYWx1KSkNCm91dCRvc19vc29iYV9pZCA8LSBpZmVsc2UoaXMubmEob3V0JG9zX29zb2JhX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JG9zX29zb2JhX2lkKSkNCm91dCRvc19uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JG9zX25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JG9zX25hendpc2tvKSkNCm91dCRvc19pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkb3NfaW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCRvc19pbWllKSkNCm91dCRmb19zeW1ib2wgPC0gaWZlbHNlKGlzLm5hKG91dCRmb19zeW1ib2wpLCcnLGFzLmNoYXJhY3RlcihvdXQkZm9fc3ltYm9sKSkNCm91dCR6YV9vcGlzX3dzcG9sdHdvcmNvdyA8LSBpZmVsc2UoaXMubmEob3V0JHphX29waXNfd3Nwb2x0d29yY293KSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX29waXNfd3Nwb2x0d29yY293KSkNCm91dCR6YV93eWRhbmllIDwtIGlmZWxzZShpcy5uYShvdXQkemFfd3lkYW5pZSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV93eWRhbmllKSkNCm91dCR6YV90b215IDwtIGlmZWxzZShpcy5uYShvdXQkemFfdG9teSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90b215KSkNCm91dCR6YV9pbnN0eXR1Y2phIDwtIGlmZWxzZShpcy5uYShvdXQkemFfaW5zdHl0dWNqYSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9pbnN0eXR1Y2phKSkNCm91dCR3eV93eWRhd25pY3R3b19pZCA8LSBpZmVsc2UoaXMubmEob3V0JHd5X3d5ZGF3bmljdHdvX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHd5X3d5ZGF3bmljdHdvX2lkKSkNCm91dCR3eV9taWVqc2NlIDwtIGlmZWxzZShpcy5uYShvdXQkd3lfbWllanNjZSksJycsYXMuY2hhcmFjdGVyKG91dCR3eV9taWVqc2NlKSkNCm91dCR3eV9uYXp3YSA8LSBpZmVsc2UoaXMubmEob3V0JHd5X25hendhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHd5X25hendhKSkNCm91dCR6YV9yb2tfd3lkYW5pYSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3Jva193eWRhbmlhKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3Jva193eWRhbmlhKSkNCm91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2kgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2kpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfb3Bpc19maXp5Y3pueV9rc2lhemtpKSkNCm91dCR6YV9zZXJpYV93eWRhd25pY3phIDwtIGlmZWxzZShpcy5uYShvdXQkemFfc2VyaWFfd3lkYXduaWN6YSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9zZXJpYV93eWRhd25pY3phKSkNCm91dCR0d19uYXp3aXNrbyA8LSBpZmVsc2UoaXMubmEob3V0JHR3X25hendpc2tvKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHR3X25hendpc2tvKSkNCm91dCR0d19pbWllIDwtIGlmZWxzZShpcy5uYShvdXQkdHdfaW1pZSksJycsYXMuY2hhcmFjdGVyKG91dCR0d19pbWllKSkNCm91dCRwcmFjb3duaWsgPC0gaWZlbHNlKGlzLm5hKG91dCRwcmFjb3duaWspLCcnLGFzLmNoYXJhY3RlcihvdXQkcHJhY293bmlrKSkNCm91dCR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9hZG5vdGFjamUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfYWRub3RhY2plKSkNCm91dCRCTl9VUkwgPC0gaWZlbHNlKGlzLm5hKG91dCRCTl9VUkwpLCcnLGFzLmNoYXJhY3RlcihvdXQkQk5fVVJMKSkNCg0Kb3V0ICUkJSAgDQogICAgeyByZWtvcmRfQk49PWxhZyhyZWtvcmRfQk4sKSAmIHJ6X25hendhPT1sYWcocnpfbmF6d2EsKSAmIHphX3JvX3Jvaz09bGFnKHphX3JvX3JvaywpICYgemFfdHlwZT09bGFnKHphX3R5cGUsKSAmIHJ6X3JvZHphal9pZD09bGFnKHJ6X3JvZHphal9pZCwpICYgRFpfTkFaV0E9PWxhZyhEWl9OQVpXQSwpICYgRFpfRFpJQUxfSUQ9PWxhZyhEWl9EWklBTF9JRCwpICYgdHdfdHdvcmNhX2lkPT1sYWcodHdfdHdvcmNhX2lkLCkgJiB6YV90eXR1bD09bGFnKHphX3R5dHVsLCkgJiB6YV90eXR1bF9vcnlnaW5hbHU9PWxhZyh6YV90eXR1bF9vcnlnaW5hbHUsKSAmIHphX2plenlrX29yeWdpbmFsdT09bGFnKHphX2plenlrX29yeWdpbmFsdSwpICYgemFfb3Bpc193c3BvbHR3b3Jjb3c9PWxhZyh6YV9vcGlzX3dzcG9sdHdvcmNvdywpICYgemFfd3lkYW5pZT09bGFnKHphX3d5ZGFuaWUsKSAmIHphX3RvbXk9PWxhZyh6YV90b215LCkgJiB6YV9pbnN0eXR1Y2phPT1sYWcoemFfaW5zdHl0dWNqYSwpICYgemFfcm9rX3d5ZGFuaWE9PWxhZyh6YV9yb2tfd3lkYW5pYSwpICYgemFfb3Bpc19maXp5Y3pueV9rc2lhemtpPT1sYWcoemFfb3Bpc19maXp5Y3pueV9rc2lhemtpLCkgJiB6YV9zZXJpYV93eWRhd25pY3phPT1sYWcoemFfc2VyaWFfd3lkYXduaWN6YSwpICYgdHdfbmF6d2lza289PWxhZyh0d19uYXp3aXNrbywpICYgdHdfaW1pZT09bGFnKHR3X2ltaWUsKSAmIHByYWNvd25paz09bGFnKHByYWNvd25paywpICYgemFfYWRub3RhY2plPT1sYWcoemFfYWRub3RhY2plLCkgJiBCTl9VUkw9PWxhZyhCTl9VUkwsKX0gJT4lIA0KICAgIGFzLm51bWVyaWMoKSAlPiUgDQogICAgey59IC0+IG91dCRzYW1lDQpvdXQkc2FtZVsxXSA8LSAwDQpvdXQkZHppZWxvbmUgPC0gcGFzdGUob3V0JGFtX2F1dG9yX2lkLG91dCRhbV9uYXp3aXNrbyxvdXQkYW1faW1pZSxvdXQkb3Nfb3NvYmFfaWQsb3V0JG9zX25hendpc2tvLG91dCRvc19pbWllLG91dCRmb19zeW1ib2wsb3V0JHd5X3d5ZGF3bmljdHdvX2lkLG91dCR3eV9taWVqc2NlLG91dCR3eV9uYXp3YSxzZXAgPSAiIikNCg0Kb3V0IDwtIG91dCAlPiUNCiAgZmlsdGVyKCEoc2FtZT09MSZkemllbG9uZT09IiIpKSAlPiUNCiAgc2VsZWN0KDE6MzMpDQoNCm91dCAlJCUgIA0KICAgIHsgcmVrb3JkX0JOPT1sYWcocmVrb3JkX0JOLCkgJiByel9uYXp3YT09bGFnKHJ6X25hendhLCkgJiB6YV9yb19yb2s9PWxhZyh6YV9yb19yb2ssKSAmIHphX3R5cGU9PWxhZyh6YV90eXBlLCkgJiByel9yb2R6YWpfaWQ9PWxhZyhyel9yb2R6YWpfaWQsKSAmIERaX05BWldBPT1sYWcoRFpfTkFaV0EsKSAmIERaX0RaSUFMX0lEPT1sYWcoRFpfRFpJQUxfSUQsKSAmIHR3X3R3b3JjYV9pZD09bGFnKHR3X3R3b3JjYV9pZCwpICYgemFfdHl0dWw9PWxhZyh6YV90eXR1bCwpICYgemFfdHl0dWxfb3J5Z2luYWx1PT1sYWcoemFfdHl0dWxfb3J5Z2luYWx1LCkgJiB6YV9qZXp5a19vcnlnaW5hbHU9PWxhZyh6YV9qZXp5a19vcnlnaW5hbHUsKSAmIHphX29waXNfd3Nwb2x0d29yY293PT1sYWcoemFfb3Bpc193c3BvbHR3b3Jjb3csKSAmIHphX3d5ZGFuaWU9PWxhZyh6YV93eWRhbmllLCkgJiB6YV90b215PT1sYWcoemFfdG9teSwpICYgemFfaW5zdHl0dWNqYT09bGFnKHphX2luc3R5dHVjamEsKSAmIHphX3Jva193eWRhbmlhPT1sYWcoemFfcm9rX3d5ZGFuaWEsKSAmIHphX29waXNfZml6eWN6bnlfa3NpYXpraT09bGFnKHphX29waXNfZml6eWN6bnlfa3NpYXpraSwpICYgemFfc2VyaWFfd3lkYXduaWN6YT09bGFnKHphX3NlcmlhX3d5ZGF3bmljemEsKSAmIHR3X25hendpc2tvPT1sYWcodHdfbmF6d2lza28sKSAmIHR3X2ltaWU9PWxhZyh0d19pbWllLCkgJiBwcmFjb3duaWs9PWxhZyhwcmFjb3duaWssKSAmIHphX2Fkbm90YWNqZT09bGFnKHphX2Fkbm90YWNqZSwpICYgQk5fVVJMPT1sYWcoQk5fVVJMLCl9ICU+JSANCiAgICBhcy5udW1lcmljKCkgJT4lIA0KICAgIHsufSAtPiBvdXQkc2FtZQ0KDQojdWNpxJljaWUgemJ5dCBkxYJ1Z2ljaCBjacSFZ8OzdyB6bmFrw7N3LCBieSB3ZXN6xYJ5IGRvIG9yYWNsZSdhDQpkbHVnb3NjaSA8LSBkYXRhLmZyYW1lKHBvbGUgPSBjKCJhbV9uYXp3aXNrbyIsICJhbV9pbWllIiwgInphX3R5dHVsIiwgInphX3R5dHVsX29yeWdpbmFsdSIsICJ6YV9qZXp5a19vcnlnaW5hbHUiLCAib3NfbmF6d2lza28iLCAib3NfaW1pZSIsICJ6YV9vcGlzX3dzcG9sdHdvcmNvdyIsICJ6YV9pbnN0eXR1Y2phIiwgInd5X21pZWpzY2UiLCAid3lfbmF6d2EiLCAiemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIiwgInphX3NlcmlhX3d5ZGF3bmljemEiLCAidHdfbmF6d2lza28iLCAidHdfaW1pZSIsICJ6YV9hZG5vdGFjamUiKSwgbGljemJhX3puYWtvdyA9IGMoNTAsNDAsNTAwLDUwMCwxMDAsNTAsNDAsNTAwLDI1NSw0MCwyNTUsMTAwMCwyNTUsMjAwLDQwLDIwMDApKQ0KeCA8LSBtYXRjaChkbHVnb3NjaSRwb2xlLG5hbWVzKG91dCkpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIGRsdWdvc2MgPC0gZGx1Z29zY2kkbGljemJhX3puYWtvd1ttYXRjaChuYW1lcyhvdXRbaV0pLGRsdWdvc2NpJHBvbGUpXQ0KICBvdXQkemFfYWRub3RhY2plIDwtIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSkmb3V0JHphX2Fkbm90YWNqZSE9IiIscGFzdGUob3V0JHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIFBvbGUgIixhcy5jaGFyYWN0ZXIobmFtZXMob3V0W2ldKSksIiBiecWCbyB6Ynl0IGTFgnVnaWUgaSB6b3N0YcWCbyBwcnp5Y2nEmXRlLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIiksc2VwID0gIiMgIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSkmb3V0JHphX2Fkbm90YWNqZT09IiIscGFzdGUoIlVXQUdBISBQb2xlICIsYXMuY2hhcmFjdGVyKG5hbWVzKG91dFtpXSkpLCIgYnnFgm8gemJ5dCBkxYJ1Z2llIGkgem9zdGHFgm8gcHJ6eWNpxJl0ZS4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLGFzLmNoYXJhY3RlcihvdXQkemFfYWRub3RhY2plKSkpDQogIA0KICBvdXRbLGldIDwtIGlmZWxzZShkbHVnb3NjPG5jaGFyKGFzLmNoYXJhY3RlcihvdXRbLGldKSksYXMuY2hhcmFjdGVyKHN1YnN0cihvdXRbLGldLDEsZGx1Z29zYykpLGFzLmNoYXJhY3RlcihvdXRbLGldKSkNCn0NCg0Kb3V0JHJla29yZF9CTltvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHJ6X25hendhW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfcm9fcm9rW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfdHlwZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHJ6X3JvZHphal9pZFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JERaX05BWldBW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkRFpfRFpJQUxfSURbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR0d190d29yY2FfaWRbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV90eXR1bFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3R5dHVsX29yeWdpbmFsdVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX2plenlrX29yeWdpbmFsdVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX29waXNfd3Nwb2x0d29yY293W291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfd3lkYW5pZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3RvbXlbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9pbnN0eXR1Y2phW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfcm9rX3d5ZGFuaWFbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9vcGlzX2Zpenljem55X2tzaWF6a2lbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9zZXJpYV93eWRhd25pY3phW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkdHdfbmF6d2lza29bb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR0d19pbWllW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkcHJhY293bmlrW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfYWRub3RhY2plW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkQk5fVVJMW291dCRzYW1lID09IDFdIDwtICIiDQoNCm91dCA8LSBvdXQgJT4lDQogIHNlbGVjdCgxOjMzKQ0KDQojcMSZdGxhIHphcGlzdWrEhWNhIHBvIG9rLiAyMDAwIHdpZXJzenkgeiB1d3pnbMSZZG5pZW5pZW0ga29tcGxldG5vxZtjaSByZWtvcmTDs3cgYmlibGlvZ3JhZmljem55Y2ggcm96cGlzYW55Y2ggbmEga2lsa2Egd2llcnN6eQ0Kb3V0IDwtIG91dCAlPiUNCiAgbXV0YXRlKHBvZHppYWwgPSBpZmVsc2UocmVrb3JkX0JOIT0iIixhcy5jaGFyYWN0ZXIocmVrb3JkX0JOKSxOQSkpICU+JQ0KICBmaWxsKHBvZHppYWwpDQppbGUgPC0gdW5pcXVlKG91dCRwb2R6aWFsKQ0KaWxlIDwtIHNwbGl0KHVuaXF1ZShpbGUpLCBjZWlsaW5nKHNlcV9hbG9uZyh1bmlxdWUoaWxlKSkvMTUwMCkpDQp4IDwtIDE6bGVuZ3RoKGlsZSkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgZmluYWwgPC0gb3V0ICU+JQ0KICAgIGZpbHRlcihwb2R6aWFsICVpbiUgaWxlW1tpXV0pICU+JQ0KICAgIHNlbGVjdCgtcG9kemlhbCkNCiAgd3JpdGUueGxzeChmaW5hbCwgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvIixpbXBvcnRfeWVhciwiX2FudG9sb2dpZV9kb19pbXBvcnR1IixpLCIueGxzeCIsc2VwID0gIiIpLHNoZWV0TmFtZSA9ICJnb3Rvd2UiKQ0KfQ0KYGBgDQoNCmBgYHtyIGtzacSFxbxraSB3c3DDs8WCd3lkYW5pYX0NCmJuX29rIDwtIGNodW5rMTENCmRhdGEgPC0gYm5fb2sgJT4lDQogIGZpbHRlcihyb2R6YWpfa3NpYXpraT09IndzcMOzxYJ3eWRhbmllIikgJT4lDQogIG11dGF0ZShyZWRha3Rvcl9kemlhbHUgPSBwYXN0ZShyZWRha3Rvcl9kemlhbHUsIl93c3AiLHNlcCA9ICIiKSkNCg0KI3V3b2xuaWVuaWUga29sdW1uIHogZGFueW1pIHogYm4gaSBwcnpldHdvcnplbmllIGRvIFBCTA0KIzE6IHphX3V3YWdpLCByel9uYXp3YSwgemFfcm9fcm9rLCB6YV90eXBlLCByel9yb2R6YWpfaWQsIHR3X3R3b3JjYV9pZCwgdHdfbmF6d2lza28sIHR3X2ltaWUsIGR6X2R6aWFsX2lkLCBkel9uYXp3YSwgcmVkYWt0b3JfZHppYWx1DQpwb2xhX3BibCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksIFJaX05BWldBLCBaQV9ST19ST0sgPSByb2ssIFJaX1JPRFpBSl9JRCwgVFdfVFdPUkNBX0lELCBUV19OQVpXSVNLTywgVFdfSU1JRSwgRFpfRFpJQUxfSUQsIERaX05BWldBLCByZWRha3Rvcl9kemlhbHUpICU+JQ0KICBtdXRhdGUoWkFfVFlQRSA9ICJLUyIpDQoNCiMyOiBhdXRvcg0KQk5fYXV0b3IgPC0gZGF0YSAlPiUgDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSAlPiUgDQogIG11dGF0ZShYMjQ1ID0gc3RyX2V4dHJhY3QoWDI0NSwgIig/PD1cXC9cXCRjKSguKj8pKD89IDt8JCkiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcLiQiKSwNCiAgICAgICAgIFgyNDUgPSBzdHJfcmVtb3ZlKFgyNDUsIlxcWyIpLA0KICAgICAgICAgWDI0NSA9IHN0cl9yZW1vdmUoWDI0NSwiXFxdIiksDQogICAgICAgICBBTV9OQVpXSVNLTyA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSxhcy5jaGFyYWN0ZXIoWDI0NSksc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwzIikpLA0KICAgICAgICAgQU1fSU1JRSA9IGlmZWxzZShncmVwbCgiIFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XFwuXSogIixYMjQ1KSwiKiIsc3RyX3JlcGxhY2UoWDI0NSwiKF4uKj8pKCApKD8hLiogKSguKiQpIiwiXFwxIikpLA0KICAgICAgICAgbmF6d2EgPSBzdHJfcmVwbGFjZV9hbGwoc3RyX3RvX2xvd2VyKHBhc3RlKEFNX05BWldJU0tPLEFNX0lNSUUsIHNlcCA9ICIiKSksICJcXFciLCAiIikpICU+JQ0KICBsZWZ0X2pvaW4oLixQQkxfYXV0b3J6eSAlPiUgc2VsZWN0KEFNX0FVVE9SX0lELEFNX0tSWVBUT05JTSxBTV9MSUNaQkFfWkFQSVNPVyxuYXp3YSkgJT4lIGZpbHRlcihpcy5uYShBTV9LUllQVE9OSU0pKSxieT0ibmF6d2EiKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSxBTV9OQVpXSVNLTyxBTV9JTUlFLC1BTV9MSUNaQkFfWkFQSVNPVykNCkJOX2F1dG9yJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZChCTl9hdXRvclsxOjRdKSkNCkJOX2F1dG9yIDwtIEJOX2F1dG9yWyFkdXBsaWNhdGVkKEJOX2F1dG9yJGlkX2dydXB5KSxdICU+JQ0KICBtdXRhdGUoWkFfQUROT1RBQ0pFID0gTkEpICU+JSANCiAgc2VsZWN0KFpBX1VXQUdJLEFNX05BWldJU0tPLEFNX0lNSUUsWkFfQUROT1RBQ0pFLEFNX0FVVE9SX0lEKQ0KDQojMzogdHl0dcWCDQojcG9sZSAyNDUNCm1hcmNfZmllbGRfMjQ1IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYMjQ1KSU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJ+IiksDQogICAgICAgICBYMjQ1PXN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlgyNDUiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDI0NSE9IiIpICU+JQ0KICBtdXRhdGUoWDI0NT1zdHJfcmVtb3ZlX2FsbChYMjQ1LCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgyNDUsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfMjQ1KVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzI0NTwtY2JpbmQobWFyY19maWVsZF8yNDUsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF8yNDUkWDI0NSA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzI0NSRYMjQ1LHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzI0NVssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzI0NSRYMjQ1KSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF8yNDUkWDI0NSksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KaWYoIiRuIiAlaW4lIGNvbG5hbWVzKG1hcmNfZmllbGRfMjQ1KSkgew0KbWFyY19maWVsZF8yNDUgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmAsYCRuYCxgJHBgKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLGNvbGxhcHNlID0gIiAiKSwNCiAgICAgICAgIGAkYmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSxjb2xsYXBzZSA9ICIgIiksDQogICAgICAgICBgJG5gID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkbmApLCIiLGFzLmNoYXJhY3RlcihgJG5gKSksY29sbGFwc2UgPSAiICIpLA0KICAgICAgICAgYCRwYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJHBgKSwiIixhcy5jaGFyYWN0ZXIoYCRwYCkpLGNvbGxhcHNlID0gIiAiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHVuaXRlKCJaQV9UWVRVTCIsYCRhYDpgJHBgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JSANCiAgbXV0YXRlKFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCIgKyIsIiAiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlbW92ZShaQV9UWVRVTCwgIlxccytcXC9cXHN7MCx9JCIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksYXMuY2hhcmFjdGVyKFpBX1RZVFVMKSkpKSksDQogICAgICAgICBaQV9UWVRVTCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSxhcy5jaGFyYWN0ZXIoWkFfVFlUVUwpKSkpKSwNCiAgICAgICAgIFpBX1RZVFVMID0gc3RyX3JlcGxhY2VfYWxsKFpBX1RZVFVMLCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBzdHJfcmVwbGFjZV9hbGwoWkFfVFlUVUwsIiA7ICIsIi4gIiksDQogICAgICAgICBaQV9UWVRVTCA9IGdzdWIoIiggOiApKC4pIiwiLiBcXFVcXDIiLHBlcmw9VFJVRSxaQV9UWVRVTCkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWkFfVFlUVUwpDQp9IGVsc2Ugew0KICBtYXJjX2ZpZWxkXzI0NSA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLGAkYWAsYCRiYCkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKGAkYWAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSxjb2xsYXBzZSA9ICIgIiksDQogICAgICAgICBgJGJgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksY29sbGFwc2UgPSAiICIpKSAlPiUNCiAgdW5ncm91cCgpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgdW5pdGUoIlpBX1RZVFVMIixgJGFgOmAkYmAsc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIA0KICBtdXRhdGUoWkFfVFlUVUwgPSBzdHJfcmVwbGFjZV9hbGwoWkFfVFlUVUwsIiArIiwiICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBzdHJfcmVtb3ZlKFpBX1RZVFVMLCAiXFxzK1xcL1xcc3swLH0kIiksDQogICAgICAgICBaQV9UWVRVTCA9IGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWkFfVFlUVUwpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWkFfVFlUVUwpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSxhcy5jaGFyYWN0ZXIoWkFfVFlUVUwpKSkpKSwNCiAgICAgICAgIFpBX1RZVFVMID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFpBX1RZVFVMKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxaQV9UWVRVTCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFpBX1RZVFVMKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixaQV9UWVRVTCksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWkFfVFlUVUwpLGFzLmNoYXJhY3RlcihaQV9UWVRVTCkpKSkpLA0KICAgICAgICAgWkFfVFlUVUwgPSBzdHJfcmVwbGFjZV9hbGwoWkFfVFlUVUwsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBaQV9UWVRVTCA9IHN0cl9yZXBsYWNlX2FsbChaQV9UWVRVTCwiIDsgIiwiLiAiKSwNCiAgICAgICAgIFpBX1RZVFVMID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFpBX1RZVFVMKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxaQV9UWVRVTCkNCn0NCnR5dHVsX3dzcG9sd3lkYW5pZSA8LSBtYXJjX2ZpZWxkXzI0NQ0KI2RvcGlzYW5pZSBnYXR1bmt1IGRvIHByemVkbWlvdG93ZWogbmEgcG9kc3Rhd2llIDY1NSBpIDY1MCAgDQpnYXR1bmtpX3BibCA8LSBkYXRhLmZyYW1lKGdhdHVuZWsgPSBjKCJhZm9yeXptIiwgImFsYnVtIiwgImFudG9sb2dpYSIsICJhdXRvYmlvZ3JhZmlhIiwgImR6aWVubmlrIiwgImVzZWoiLCAiZmVsaWV0b24iLCAiaW5uZSIsICJrYXphbmllIiwgImxpc3QiLCAibWluaWF0dXJhIHByb3rEhSIsICJvcG93aWFkYW5pZSIsICJwb2VtYXQiLCAicG93aWXFm8SHIiwgInByb3phIiwgInByb3phIHBvZXR5Y2thIiwgInJlcG9ydGHFvCIsICJyb3ptecWbbGFuaWUgcmVsaWdpam5lIiwgInJ5c3VuZWssIG9icmF6IiwgInNjZW5hcml1c3oiLCAic3praWMiLCAidGVrc3QgYmlibGlqbnkiLCAidGVrc3QgZHJhbWF0eWN6bnkiLCAiZHJhbWF0IiwgIndpZXJzeiIsICJ3c3BvbW5pZW5pYSIsICJ3eXBvd2llZMW6IiwgInBhbWnEmXRuaWtpIiwgInBvZXpqYSIsICJsaXRlcmF0dXJhIHBvZHLDs8W8bmljemEiLCAic2F0eXJhIiwgInBpb3NlbmthIikpDQoNCiNkcmFtYXQsIHBhbWnEmXRuaWtpLCBwb2V6amEsIGxpdGVyYXR1cmEgcG9kcsOzxbxuaWN6YSwgc2F0eXJhLCBwaW9zZW5rYQ0KZ2F0dW5raV9ibiA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDY1NSxYNjUwKQ0KDQpnYXR1bmtpX2JuIDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICBmcm9tIGdhdHVua2lfYm4NCiAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIGdhdHVua2lfcGJsIG9uIGxvd2VyKGdhdHVua2lfYm4uWDY1NSkgbGlrZSAnJSd8fGdhdHVua2lfcGJsLmdhdHVuZWt8fCclJyIpDQpnYXR1bmtpX2JuIDwtIHNxbGRmKCJzZWxlY3QgKg0KICAgICAgICAgICAgICAgICAgICAgIGZyb20gZ2F0dW5raV9ibg0KICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBnYXR1bmtpX3BibCBvbiBsb3dlcihnYXR1bmtpX2JuLlg2NTApIGxpa2UgJyUnfHxnYXR1bmtpX3BibC5nYXR1bmVrfHwnJSciKQ0KY29sbmFtZXMoZ2F0dW5raV9ibilbNV0gPC0gImdhdHVuZWsyIg0KZ2F0dW5raV9ibiA8LSBnYXR1bmtpX2JuICU+JQ0KICBtdXRhdGUoZ2F0dW5layA9IGlmZWxzZShpcy5uYShnYXR1bmVrKSYhaXMubmEoZ2F0dW5lazIpLGFzLmNoYXJhY3RlcihnYXR1bmVrMiksYXMuY2hhcmFjdGVyKGdhdHVuZWspKSwNCiAgICAgICAgIGdhdHVuZWsgPSBpZmVsc2UoZ3JlcGwoInByenlwb3dpZcWbxIciLFg2NTUsaWdub3JlLmNhc2UgPSBUUlVFKSYhZ3JlcGwoIlteeV1wb3dpZcWbxIciLFg2NTUpJmdhdHVuZWs9PSJwb3dpZcWbxIciLCJvcG93aWFkYW5pZSIsYXMuY2hhcmFjdGVyKGdhdHVuZWspKSkgJT4lDQogIGZpbHRlcighaXMubmEoZ2F0dW5laykpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksZ2F0dW5laykgJT4lDQogIG11dGF0ZShnYXR1bmVrID0gaWZlbHNlKGdhdHVuZWs9PSJkcmFtYXQiLCJ0ZWtzdCBkcmFtYXR5Y3pueSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShnYXR1bmVrPT0icGFtacSZdG5pa2kiLCJ3c3BvbW5pZW5pYSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ2F0dW5laz09InBvZXpqYSIsIndpZXJzeiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdhdHVuZWs9PSJsaXRlcmF0dXJhIHBvZHLDs8W8bmljemEiLCJyZXBvcnRhxbwiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ2F0dW5laz09InBpb3NlbmthIiwid2llcnN6Iixhcy5jaGFyYWN0ZXIoZ2F0dW5laykpKSkpKSkgJT4lDQogIGdyb3VwX2J5KFpBX1VXQUdJKSAlPiUNCiAgbXV0YXRlKGdhdHVuZWsgPSBwYXN0ZShnYXR1bmVrLGNvbGxhcHNlID0gIiwgIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoZ2F0dW5layA9IGdzdWIoIiheLikiLCJcXFVcXDEiLHBlcmwgPSBUUlVFLCBnYXR1bmVrKSkNCiNwb8WCxIVjemVuaWUgdHl0dcWCdSB6IGdhdHVua2llbQ0KemFfdHl0dWwgPC0gbWFyY19maWVsZF8yNDUgJT4lDQogIGxlZnRfam9pbiguLGdhdHVua2lfYm4sYnk9IlpBX1VXQUdJIikgJT4lIA0KICBtdXRhdGUoZ2F0dW5layA9IHBhc3RlKCJbIixnYXR1bmVrLCJdIixzZXAgPSAiIiksDQogICAgICAgICBnYXR1bmVrID0gaWZlbHNlKGdhdHVuZWs9PSJbTkFdIixOQSxhcy5jaGFyYWN0ZXIoZ2F0dW5laykpKSAlPiUgDQogIHVuaXRlKCJaQV9UWVRVTCIsIFpBX1RZVFVMOmdhdHVuZWssIHNlcCA9ICIuICIsbmEucm09VFJVRSkgJT4lIA0KICBtdXRhdGUoWkFfVFlUVUwgPSBzdHJfcmVwbGFjZV9hbGwoWkFfVFlUVUwsIlxcLiBcXC4iLCIuICIpLA0KICAgICAgICAgWkFfVFlUVUwgPSBzdHJfcmVwbGFjZShaQV9UWVRVTCwiKFxcISkoXFwuKXwoXFw/KShcXC4pIiwiXFwxIikpDQoNCiM0OiB0eXR1xYIgb3J5Z2luYcWCdQ0KI3BvbGUgMjQ2DQptYXJjX2ZpZWxkXzI0NiA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NiklPiUNCiAgZmlsdGVyKFgyNDYhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDY9c3RyX3JlbW92ZV9hbGwoWDI0NiwifiIpLA0KICAgICAgICAgWDI0Nj1zdHJfcmVwbGFjZV9hbGwoWDI0NiwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ2IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDYhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDY9c3RyX3JlbW92ZV9hbGwoWDI0NiwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NiwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NilbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDY8LWNiaW5kKG1hcmNfZmllbGRfMjQ2LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ2JFgyNDYgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDYkWDI0NixzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDZbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDYkWDI0Niksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ2JFgyNDYpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCmlmKCIkbiIgJWluJSBjb2xuYW1lcyhtYXJjX2ZpZWxkXzI0NikpIHsNCm1hcmNfZmllbGRfMjQ2IDwtIG1hcmNfZmllbGRfMjQ2WywgY29sU3Vtcyhpcy5uYShtYXJjX2ZpZWxkXzI0NikpICE9IG5yb3cobWFyY19maWVsZF8yNDYpXSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnIixYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmAsYCRuYCxgJHBgKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoYCRhYCA9IHBhc3RlKGlmZWxzZShpcy5uYShgJGFgKSwiIixhcy5jaGFyYWN0ZXIoYCRhYCkpLGNvbGxhcHNlID0gIiwgIiksDQogICAgICAgICBgJGJgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksY29sbGFwc2UgPSAiIiksDQogICAgICAgICBgJG5gID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkbmApLCIiLGFzLmNoYXJhY3RlcihgJG5gKSksY29sbGFwc2UgPSAiIiksDQogICAgICAgICBgJHBgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkcGApLCIiLGFzLmNoYXJhY3RlcihgJHBgKSksY29sbGFwc2UgPSAiIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICB1bml0ZSgiWDI0NiIsYCRhYDpgJHBgLHNlcCA9ICIgIixuYS5ybSA9IFRSVUUpICU+JSANCiAgbXV0YXRlKFgyNDYgPSBzdHJfcmVwbGFjZV9hbGwoWDI0NiwiICsiLCIgIiksDQogICAgICAgICBYMjQ2ID0gc3RyX3JlbW92ZShYMjQ2LCAiXFxzK1xcL1xcc3swLH0kIiksDQogICAgICAgICBYMjQ2ID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFgyNDYpLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLGFzLmNoYXJhY3RlcihYMjQ2KSkpKSksDQogICAgICAgICBYMjQ2ID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oXFwofFxcWykoLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsIlxcMS5cXDJcXDVcXFVcXDYiLHBlcmw9VFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKShcXCh8XFxbKSguKSIsIlxcMVxcMlxcVVxcNVxcNiIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApezAsMX0oLikiLFgyNDYpLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYMjQ2KSxhcy5jaGFyYWN0ZXIoWDI0NikpKSkpLA0KICAgICAgICAgWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWDI0NiA9IGdzdWIoIiggOiApKC4pIiwiLiBcXFVcXDIiLHBlcmw9VFJVRSxYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgWDI0NikNCn0gZWxzZSB7DQogIG1hcmNfZmllbGRfMjQ2IDwtIG1hcmNfZmllbGRfMjQ2WywgY29sU3Vtcyhpcy5uYShtYXJjX2ZpZWxkXzI0NikpICE9IG5yb3cobWFyY19maWVsZF8yNDYpXSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJvcnlnIixYMjQ2KSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxgJGFgLGAkYmApICU+JQ0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZShgJGFgID0gcGFzdGUoaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksY29sbGFwc2UgPSAiLCAiKSwNCiAgICAgICAgIGAkYmAgPSBwYXN0ZShpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSxjb2xsYXBzZSA9ICIiKSkgJT4lDQogIHVuZ3JvdXAoKSAlPiUNCiAgdW5pcXVlKCkgJT4lDQogIHVuaXRlKCJYMjQ2IixgJGFgOmAkYmAsc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIA0KICBtdXRhdGUoWDI0NiA9IHN0cl9yZXBsYWNlX2FsbChYMjQ2LCIgKyIsIiAiKSwNCiAgICAgICAgIFgyNDYgPSBzdHJfcmVtb3ZlKFgyNDYsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKSguKSIsWDI0NiksZ3N1YigiKFxcVykoICkoOnw7KSggKSguKSIsIlxcMVxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksYXMuY2hhcmFjdGVyKFgyNDYpKSkpKSwNCiAgICAgICAgIFgyNDYgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfShcXCh8XFxbKSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFgyNDYpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYMjQ2KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICl7MCwxfSguKSIsWDI0NiksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKXswLDF9KC4pIiwiXFwxLlxcMlxcVVxcNSIscGVybCA9IFRSVUUsWDI0NiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFxcVykoICkoOnw7KSggKXswLDF9KC4pIixYMjQ2KSxnc3ViKCIoXFxXKSggKSg6fDspKCApezAsMX0oLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFgyNDYpLGFzLmNoYXJhY3RlcihYMjQ2KSkpKSksDQogICAgICAgICBYMjQ2ID0gc3RyX3JlcGxhY2VfYWxsKFgyNDYsIlxcLnszfSBcXC57M30iLCIuLi4gIiksDQogICAgICAgICBYMjQ2ID0gZ3N1YigiKCA6ICkoLikiLCIuIFxcVVxcMiIscGVybD1UUlVFLFgyNDYpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLCBYMjQ2KQ0KfQ0KDQojcG9sZSA1MDANCm1hcmNfZmllbGRfNTAwIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTAwKSU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVtb3ZlX2FsbChYNTAwLCJ+IiksDQogICAgICAgICBYNTAwPXN0cl9yZXBsYWNlX2FsbChYNTAwLCIoXnxcXHwpIiwiflxcMSIpKSAlPiUNCiAgY1NwbGl0KC4sIlg1MDAiLHNlcCA9ICJ+IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICBmaWx0ZXIoWDUwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDUwMD1zdHJfcmVtb3ZlX2FsbChYNTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFg1MDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwoZGF0YSRYNTAwLCJcXCQuIikNCnN1YmZpZWxkX2xpc3Q8LSB1bmlxdWUodW5saXN0KHN1YmZpZWxkX2xpc3QpKQ0KZW1wdHlfdGFibGU8LSBkYXRhLmZyYW1lKG1hdHJpeChuY29sID0gbGVuZ3RoKHN1YmZpZWxkX2xpc3QpLG5yb3cgPSBsZW5ndGhzKG1hcmNfZmllbGRfNTAwKVsxXSkpDQpjb2xuYW1lcyhlbXB0eV90YWJsZSkgPC1zdWJmaWVsZF9saXN0DQptYXJjX2ZpZWxkXzUwMDwtY2JpbmQobWFyY19maWVsZF81MDAsZW1wdHlfdGFibGUpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gcGFzdGUoIigiLHN1YmZpZWxkX2xpc3QsIikiLHNlcCA9ICIiKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0X2NoYXIsIlxcJCIsIlxcXFwkIikNCg0KeCA8LSAxOmxlbmd0aChzdWJmaWVsZF9saXN0KQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgbWFyY19maWVsZF81MDAkWDUwMCA8LSBzdHJfcmVwbGFjZShtYXJjX2ZpZWxkXzUwMCRYNTAwLHN1YmZpZWxkX2xpc3RfY2hhcltpXSwifFxcMSIpDQp9DQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBzdWJmaWVsZF9saXN0X2NoYXIyIDwtIHN0cl9yZXBsYWNlX2FsbChzdWJmaWVsZF9saXN0LCJcXCQiLCJcXFxcJCIpDQogIHN0cmluZ19hIDwtICIoXikoLio/XFx8Ig0KICBzdHJpbmdfYiA8LSBzdWJmaWVsZF9saXN0X2NoYXIyW2ldDQogIHN0cmluZ19jIDwtICIpKC4qPykoXFwsezAsMX0pKChcXHxcXCQpKC4qKXwkKSINCiAgc3RyaW5nIDwtIHBhc3RlKHN0cmluZ19hLHN0cmluZ19iLHN0cmluZ19jLHNlcCA9ICIiKQ0KICBtYXJjX2ZpZWxkXzUwMFssaSszXSA8LSBpZmVsc2UoZ3JlcGwoc3ViZmllbGRfbGlzdF9jaGFyMltpXSxtYXJjX2ZpZWxkXzUwMCRYNTAwKSxzdHJfcmVwbGFjZV9hbGwoZ3N1YihzdHJpbmcsIlxcMyIsbWFyY19maWVsZF81MDAkWDUwMCksIlxcJHsyfS4iLCAifiIpLE5BKQ0KfQ0KbWFyY19maWVsZF81MDAgPC0gbWFyY19maWVsZF81MDAgJT4lDQogIGZpbHRlcihncmVwbCgib3J5Z1xcLlxcOiIsWDUwMCkpICU+JQ0KICBtdXRhdGUoWDUwMCA9IHN0cl9yZW1vdmUoYCRhYCwiXlR5dFxcLiBvcnlnXFwuOiB8XlR5dFxcLCBvcnlnXFwuOiB8Xi4qP3R5dFxcLiBvcnlnXFwuOiAiKSwNCiAgICAgICAgIFg1MDAgPSBzdHJfcmVtb3ZlKFg1MDAsICJcXHMrXFwvXFxzezAsfSQiKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDEuXFwyXFw1XFxVXFw2IixwZXJsPVRSVUUsWDUwMCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoXFwofFxcWykoLikiLCJcXDFcXDJcXFVcXDVcXDYiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShncmVwbCgiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsWDUwMCksZ3N1YigiKFthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+SVZYXSkoICkoOnw7KSggKSguKSIsIlxcMS5cXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihcXFcpKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihcXFcpKCApKDp8OykoICkoLikiLCJcXDFcXDJcXFVcXDUiLHBlcmwgPSBUUlVFLFg1MDApLGFzLmNoYXJhY3RlcihYNTAwKSkpKSksDQogICAgICAgICBYNTAwID0gaWZlbHNlKGdyZXBsKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYNTAwKSxnc3ViKCIoW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5JVlhdKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxLlxcMlxcNVxcVVxcNiIscGVybD1UUlVFLFg1MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIixYNTAwKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKFxcKHxcXFspKC4pIiwiXFwxXFwyXFxVXFw1XFw2IixwZXJsID0gVFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLFg1MDApLGdzdWIoIihbYS16YcOhw6DDosOjw6TEg8SBw6XEhcOmZcOpw6jDqsOrxJvEk8SXxJlpw63DrMOuw6/Eq8SvaW/Ds8Oyw7TDtcO2xZHDuMWTdcO6w7nDu8O8xbHFq8WvecO9Y8SHxI3Dp2TEj8SRxJFnxKPEn2vEt2zFgsS8bsWEw7HFiMWGxYtyxZlzxZvFocWfc8OfdMWlxafDvsWjesW8xbrFvklWWF0pKCApKDp8OykoICkoLikiLCJcXDEuXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYNTAwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCIoXFxXKSggKSg6fDspKCApKC4pIixYNTAwKSxnc3ViKCIoXFxXKSggKSg6fDspKCApKC4pIiwiXFwxXFwyXFxVXFw1IixwZXJsID0gVFJVRSxYNTAwKSxhcy5jaGFyYWN0ZXIoWDUwMCkpKSkpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZXBsYWNlX2FsbChYNTAwLCJcXC57M30gXFwuezN9IiwiLi4uICIpLA0KICAgICAgICAgWDUwMCA9IHN0cl9yZW1vdmUoWDUwMCwgIlxcLiQiKSwNCiAgICAgICAgIFg1MDAgPSBzdHJfcmVtb3ZlKFg1MDAsIigsezAsMX0gezAsMX0pXFxkezR9LiokfCgsIHR8LiBUKXl0LiBvcnlnLiBjeWtsdToiKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTAwKQ0KI3R5dHXFgiBvcnlnaW5hxYJ1DQp6YV90eXR1bF9vcnlnaW5hbHUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8yNDYsYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfNTAwLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoWDUwMCA9IGlmZWxzZShpcy5uYShYNTAwKSxOQSwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKGdyZXBsKCJvcnlnIixYNTAwKSxOQSxhcy5jaGFyYWN0ZXIoWDUwMCkpKSwNCiAgICAgICAgIFg1MDAgPSBpZmVsc2UoIWlzLm5hKFg1MDApJmdyZXBsKCJcXC4gLSAiLFg1MDApLHN0cl9yZXBsYWNlKFg1MDAsIiguKj8pKFxcLiAtIC4qJCkiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoWDUwMCkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIk5hIGtzacSFxbxjZSBwc2V1ZCIsWDUwMCksc3RyX3JlcGxhY2UoWDUwMCwiKC4qPykoXFwuIE5hIGtzacSFxbxjZSBwc2V1ZC4qJCkiLCJcXDEiKSxhcy5jaGFyYWN0ZXIoWDUwMCkpLA0KICAgICAgICAgWDUwMCA9IGlmZWxzZSghaXMubmEoWDUwMCkmZ3JlcGwoIlByemVrxYJcXC4gd2ciLFg1MDApLHN0cl9yZXBsYWNlKFg1MDAsIiguKj8pKFxcLiBQcnpla8WCXFwuIHdnLiokKSIsIlxcMSIpLGFzLmNoYXJhY3RlcihYNTAwKSksDQogICAgICAgICBaQV9UWVRVTF9PUllHSU5BTFUgPSBpZmVsc2UoaXMubmEoWDI0NikmaXMubmEoWDUwMCksTkEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKCFpcy5uYShYNTAwKSxhcy5jaGFyYWN0ZXIoWDUwMCksYXMuY2hhcmFjdGVyKFgyNDYpKSksDQogICAgICAgICBaQV9UWVRVTF9PUllHSU5BTFUgPSBzdHJfcmVtb3ZlX2FsbChaQV9UWVRVTF9PUllHSU5BTFUsJ1xcIicpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX1RZVFVMX09SWUdJTkFMVSkNCg0KIzU6IGrEmXp5ayBvcnlnaW5hxYJ1DQptYXJjX2ZpZWxkXzA0MSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDA0MSklPiUNCiAgZmlsdGVyKFgwNDEhPSIiKSAlPiUNCiAgbXV0YXRlKFgwNDE9c3RyX3JlcGxhY2VfYWxsKFgwNDEsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDA0MSIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMDQxIT0iIikgJT4lDQogIG11dGF0ZShYMDQxPXN0cl9yZW1vdmVfYWxsKFgwNDEsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDA0MSwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgwNDEsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8wNDEpWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMDQxPC1jYmluZChtYXJjX2ZpZWxkXzA0MSxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzA0MSRYMDQxIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMDQxJFgwNDEsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMDQxWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMDQxJFgwNDEpLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzA0MSRYMDQxKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQp6YV9qZXp5a19vcnlnaW5hbHUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF8wNDEgJT4lIHNlbGVjdChaQV9VV0FHSSxaQV9KRVpZS19PUllHSU5BTFUgPSBgJGFgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbXV0YXRlKFpBX0pFWllLX09SWUdJTkFMVSA9IHN0cl9yZXBsYWNlX2FsbChaQV9KRVpZS19PUllHSU5BTFUsIlxcJGEiLCIsIikpICU+JQ0KICB1bmlxdWUoKQ0KDQojNjogd3Nww7PFgnR3w7NyY3kNCkJOX3dzcG9sdHdvcmNhIDwtIGRhdGEgJT4lIA0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSkgJT4lIA0KICBtdXRhdGUod3Nwb2x0d29yY2EgPSBzdHJfcmVtb3ZlKHN0cl9yZW1vdmVfYWxsKGFzLmNoYXJhY3RlcihzdHJfZXh0cmFjdF9hbGwoZGF0YSRYMjQ1LCIoPzw9OyApKC4qKSg/PSQpIikpLCJcXC4kIiksImNoYXJhY3RlclxcKDBcXCkiKSwNCiAgICAgICAgIHdzcG9sdHdvcmNhID0gc3RyX3JlbW92ZV9hbGwod3Nwb2x0d29yY2EsIiBldCBhbFxcLiIpKQ0KDQptYXJjX2ZpZWxkXzcwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDcwMCklPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlcGxhY2VfYWxsKFg3MDAsIiguLlxcJGEpIiwifFxcMSIpLA0KICAgICAgICAgWDcwMD1zdHJfcmVwbGFjZV9hbGwoWDcwMCwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNzAwIixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg3MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg3MDA9c3RyX3JlbW92ZV9hbGwoWDcwMCwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNzAwLCIoXi4qPykoXFwkLiopIiwiXFwxIikpICU+JQ0KICBmaWx0ZXIoWDcwMCE9IiIpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDcwMCwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzcwMClbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF83MDA8LWNiaW5kKG1hcmNfZmllbGRfNzAwLGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNzAwJFg3MDAgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF83MDAkWDcwMCxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF83MDBbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF83MDAkWDcwMCksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNzAwJFg3MDApLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KbWFyY19maWVsZF83MDAgPC0gbWFyY19maWVsZF83MDAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxvc29iYSA9IGAkYWAsZnVua2NqYSA9IGAkZWApICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGZ1bmtjamEpKSAlPiUNCiAgbXV0YXRlKG9zb2JhID0gc3RyX3JlbW92ZShvc29iYSwiKD88PVthLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XSkoXFwuJCkiKSwNCiAgICAgICAgIG9zb2JhID0gaWZlbHNlKCFncmVwbCgiLCIsb3NvYmEpJnN0cl9jb3VudChvc29iYSwiICIpPT0xLHN0cl9yZXBsYWNlKG9zb2JhLCIgIiwiLCAiKSxhcy5jaGFyYWN0ZXIob3NvYmEpKSwNCiAgICAgICAgIE9TX05BWldJU0tPID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwxIiksYXMuY2hhcmFjdGVyKG9zb2JhKSksDQogICAgICAgICBPU19JTUlFID0gaWZlbHNlKGdyZXBsKCIsIixvc29iYSksc3RyX3JlcGxhY2VfYWxsKG9zb2JhLCIoLio/KSgsICkoLiopIiwiXFwzIiksIioiKSwNCiAgICAgICAgIHdzX3Byb3N0eSA9IHN0cl9yZXBsYWNlX2FsbChzdHJfdG9fbG93ZXIob3NvYmEpLCAiXFxXIiwgIiIpLA0KICAgICAgICAgZnVfcHJvc3RhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl90b19sb3dlcihmdW5rY2phKSwgIlxcVyIsICIiKSkNCg0KQk5fd3Nwb2x0d29yY2EgPC0gQk5fd3Nwb2x0d29yY2EgJT4lIA0KICBsZWZ0X2pvaW4obWFyY19maWVsZF83MDAsYnk9IlpBX1VXQUdJIikNCg0KeCA8LSAxOm5yb3coQk5fd3Nwb2x0d29yY2EpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBCTl93c3BvbHR3b3JjYSRjenlfbmF6d2lza29baV0gPC0gZ3JlcGwoQk5fd3Nwb2x0d29yY2EkT1NfTkFaV0lTS09baV0sQk5fd3Nwb2x0d29yY2Ekd3Nwb2x0d29yY2FbaV0pDQogIEJOX3dzcG9sdHdvcmNhJGN6eV9pbWllW2ldIDwtIGdyZXBsKEJOX3dzcG9sdHdvcmNhJE9TX0lNSUVbaV0sQk5fd3Nwb2x0d29yY2Ekd3Nwb2x0d29yY2FbaV0pDQp9DQoNCmlmIChncmVwbCgiMHwxIixCTl93c3BvbHR3b3JjYSRjenlfbmF6d2lza29bMV0pKSB7DQogIEJOX3dzcG9sdHdvcmNhIDwtIEJOX3dzcG9sdHdvcmNhICU+JSANCiAgICBmaWx0ZXIoY3p5X25hendpc2tvPT0xfGN6eV9pbWllPT0xKQ0KfSBlbHNlIHsNCiAgQk5fd3Nwb2x0d29yY2EgPC0gQk5fd3Nwb2x0d29yY2EgJT4lIA0KICAgIGZpbHRlcihjenlfbmF6d2lza289PVRSVUV8Y3p5X2ltaWU9PVRSVUUpDQp9DQoNCkJOX3dzcG9sdHdvcmNhIDwtIEJOX3dzcG9sdHdvcmNhICU+JSANCiAgbGVmdF9qb2luKC4sUEJMX3dzcG9sdHdvcmN5ICU+JSBzZWxlY3QoT1NfT1NPQkFfSUQsT1NfTElDWkJBX1pBUElTT1csbmF6d2FfcHJvc3RhKSxieT1jKCJ3c19wcm9zdHkiPSJuYXp3YV9wcm9zdGEiKSkgJT4lDQogIGFycmFuZ2UoWkFfVVdBR0ksT1NfTkFaV0lTS08sT1NfSU1JRSwtT1NfTElDWkJBX1pBUElTT1cpDQpCTl93c3BvbHR3b3JjYSRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoQk5fd3Nwb2x0d29yY2FbMTo0XSkpDQpCTl93c3BvbHR3b3JjYSA8LSBCTl93c3BvbHR3b3JjYVshZHVwbGljYXRlZChCTl93c3BvbHR3b3JjYSRpZF9ncnVweSksXSAlPiUNCiAgbGVmdF9qb2luKC4sUEJMX2Z1bmtjamUsYnk9YygiZnVfcHJvc3RhIj0ibmF6d2EiKSkgJT4lDQogIG11dGF0ZShmb19zeW1ib2wgPSBpZmVsc2UoZm9fc3ltYm9sPT0iTlVMTCIsTkEsYXMuY2hhcmFjdGVyKGZvX3N5bWJvbCkpLA0KICAgICAgICAgWkFfQUROT1RBQ0pFID0gTkEpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksT1NfTkFaV0lTS08sT1NfSU1JRSxPU19PU09CQV9JRCxmb19zeW1ib2wsZm9fbmF6d2EsZnVua2NqYSkNCg0KIzc6IG9waXMgd3Nww7PFgnR3w7NyY8Ozdw0KemFfb3Bpc193c3BvbHR3b3Jjb3cgPC0gQk5fd3Nwb2x0d29yY2EgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxmdW5rY2phLE9TX0lNSUUsT1NfTkFaV0lTS08pICU+JSANCiAgdW5pdGUoInphX29waXNfd3Nwb2x0d29yY293IixjKGZ1bmtjamEsT1NfSU1JRSxPU19OQVpXSVNLTyksc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIA0KICBncm91cF9ieShaQV9VV0FHSSkgJT4lDQogIG11dGF0ZSh6YV9vcGlzX3dzcG9sdHdvcmNvdyA9IHBhc3RlKHphX29waXNfd3Nwb2x0d29yY293LGNvbGxhcHNlID0gIi4gIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICByaWdodF9qb2luKC4sZGF0YSAlPiUgc2VsZWN0KFpBX1VXQUdJKSxieT0iWkFfVVdBR0kiKQ0KDQojOCB3eWRhbmllDQptYXJjX2ZpZWxkXzI1MCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI1MCklPiUNCiAgZmlsdGVyKFgyNTAhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNTA9c3RyX3JlcGxhY2VfYWxsKFgyNTAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDI1MCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMjUwIT0iIikgJT4lDQogIG11dGF0ZShYMjUwPXN0cl9yZW1vdmVfYWxsKFgyNTAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDI1MCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgyNTAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8yNTApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMjUwPC1jYmluZChtYXJjX2ZpZWxkXzI1MCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzI1MCRYMjUwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMjUwJFgyNTAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMjUwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMjUwJFgyNTApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzI1MCRYMjUwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCnphX3d5ZGFuaWUgPC0gbWFyY19maWVsZF8yNTAgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgd3lkYW5pZSA9IGAkYWApICU+JQ0KICBtdXRhdGUod3lkYW5pZSA9IHN0cl9yZW1vdmUod3lkYW5pZSwiIFxcLyQiKSkgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiM5OiBpbnN0eXR1Y2phIHNwcmF3Y3phDQptYXJjX2ZpZWxkXzI0NSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDI0NSklPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwifiIpLA0KICAgICAgICAgWDI0NT1zdHJfcmVwbGFjZV9hbGwoWDI0NSwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYMjQ1IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFgyNDUhPSIiKSAlPiUNCiAgbXV0YXRlKFgyNDU9c3RyX3JlbW92ZV9hbGwoWDI0NSwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYMjQ1LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDI0NSwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzI0NSlbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF8yNDU8LWNiaW5kKG1hcmNfZmllbGRfMjQ1LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfMjQ1JFgyNDUgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF8yNDUkWDI0NSxzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF8yNDVbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF8yNDUkWDI0NSksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfMjQ1JFgyNDUpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCg0KemFfaW5zdHl0dWNqYSA8LSBtYXJjX2ZpZWxkXzI0NSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFgyNDVjPWAkY2ApICU+JQ0KICBmaWx0ZXIoIWlzLm5hKFgyNDVjKSkgJT4lDQogIG11dGF0ZShpbnN0eXR1Y2phID0gaWZlbHNlKGdyZXBsKCJcXDsiLFgyNDVjKSxzdHJfcmVwbGFjZV9hbGwoWDI0NWMsICIoLio/KShcXDsoPyEuKlxcOykpKCApKyguKj8kKSIsIlxcNCIpLCIiKSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3dzcG9sdHdvcmNhLGJ5PSJaQV9VV0FHSSIpDQoNCnggPC0gMTpsZW5ndGhzKHphX2luc3R5dHVjamFbMV0pDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICB6YV9pbnN0eXR1Y2phJGN6eV9uYXp3aXNrb1tpXSA8LSBncmVwbCh6YV9pbnN0eXR1Y2phJE9TX05BWldJU0tPW2ldLHphX2luc3R5dHVjamEkWDI0NWNbaV0pDQogIHphX2luc3R5dHVjamEkY3p5X2ltaWVbaV0gPC0gZ3JlcGwoemFfaW5zdHl0dWNqYSRPU19JTUlFW2ldLHphX2luc3R5dHVjamEkWDI0NWNbaV0pDQp9DQoNCnphX2luc3R5dHVjamEgPC0gemFfaW5zdHl0dWNqYSAlPiUNCiAgZmlsdGVyKGlzLm5hKGN6eV9uYXp3aXNrbykmaXMubmEoY3p5X2ltaWUpKSAlPiUNCiAgZmlsdGVyKGluc3R5dHVjamEhPSIiKSAlPiUNCiAgZmlsdGVyKCFncmVwbCgiXlxcW1thLXphw6HDoMOiw6PDpMSDxIHDpcSFw6Zlw6nDqMOqw6vEm8STxJfEmWnDrcOsw67Dr8SrxK9pb8Ozw7LDtMO1w7bFkcO4xZN1w7rDucO7w7zFscWrxa95w71jxIfEjcOnZMSPxJHEkWfEo8Sfa8S3bMWCxLxuxYTDscWIxYbFi3LFmXPFm8WhxZ9zw590xaXFp8O+xaN6xbzFusW+XXxeW2EtemHDocOgw6LDo8OkxIPEgcOlxIXDpmXDqcOow6rDq8SbxJPEl8SZacOtw6zDrsOvxKvEr2lvw7PDssO0w7XDtsWRw7jFk3XDusO5w7vDvMWxxavFr3nDvWPEh8SNw6dkxI/EkcSRZ8SjxJ9rxLdsxYLEvG7FhMOxxYjFhsWLcsWZc8WbxaHFn3PDn3TFpcWnw77Fo3rFvMW6xb5dIixpbnN0eXR1Y2phKSkgJT4lDQogIG11dGF0ZShpbnN0eXR1Y2phID0gc3RyX3JlbW92ZShpbnN0eXR1Y2phLCJcXC4kIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksaW5zdHl0dWNqYSkgJT4lDQogIHJpZ2h0X2pvaW4oLixkYXRhICU+JSBzZWxlY3QoWkFfVVdBR0kpLGJ5PSJaQV9VV0FHSSIpDQoNCiMxMDogd3lkYXduaWN0d28NCkJOX3d5ZGF3bmljdHdvIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSwgWDI2MCkgJT4lDQogIG11dGF0ZShYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsInNcXC5uXFwuIiwgImIudy4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsInNcXC5sXFwuIiwgImIubS4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsIlNcXC5sXFwuIiwgImIubS4iKSwgDQogICAgICAgICBYMjYwID0gc3RyX3JlbW92ZShYMjYwLCJeXFxcXCsiKSwgDQogICAgICAgICByb2tfd3lkYW5pYSA9IHN0cl9leHRyYWN0X2FsbChYMjYwLCAiKD88PVxcJGMpLiooPz1cXCRlKXwoPzw9XFwkYykuKiIpLCANCiAgICAgICAgIGJlel9yb2t1ID0gc3RyX3JlcGxhY2VfYWxsKFgyNjAsICIuXFwkYy4qIiwgIiIpLCANCiAgICAgICAgIGlsZV93eWRhd25pY3R3ID0gc3RyX2NvdW50KGJlel9yb2t1LCAiXFwkYiIpLA0KICAgICAgICAgaWxlX21pZWpzYyA9IHN0cl9jb3VudChiZXpfcm9rdSwgIlxcJGEiKSwNCiAgICAgICAgIGtvbGVqbm9zYyA9IHN0cl9yZXBsYWNlX2FsbChhcy5jaGFyYWN0ZXIoc3RyX2V4dHJhY3RfYWxsKGJlel9yb2t1LCAiXFwkLiIpKSwgIlteYS16XSIsICIiKSwNCiAgICAgICAgIGJlel9yb2t1ID0gc3RyX3JlcGxhY2VfYWxsKGJlel9yb2t1LCAiO1xcJGIiLCAiOiRiIiksDQogICAgICAgICB3eWRhd19wb2R6aWVsID0gaWZlbHNlKGlsZV93eWRhd25pY3R3PmlsZV9taWVqc2N8a29sZWpub3NjPT0iY2FhYmIiLCBzdHJfcmVwbGFjZV9hbGwoYmV6X3Jva3UsICIoXFwkYSkoLio/KSggOlxcJGIuKj8pKCA6XFwkYikiLCAiXFwxXFwyXFwzIDskYVxcMlxcNCIpLGJlel9yb2t1KSwNCiAgICAgICAgIHd5ZGF3bmljdHdvX3Rlc3QgPSBzdHJfcmVwbGFjZV9hbGwod3lkYXdfcG9kemllbCwgIihcXCRiKSguKj8pKCA7XFwkYSkiLCAiXFwxXFwyfFxcMyIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHJva193eWRhbmlhLHd5ZGF3bmljdHdvX3Rlc3QpICU+JQ0KICBjU3BsaXQoLiwgInd5ZGF3bmljdHdvX3Rlc3QiLCBzZXAgPSAifCIsIGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIG11dGF0ZSh3eWRhd25pY3R3byA9IHN0cl9leHRyYWN0X2FsbCh3eWRhd25pY3R3b190ZXN0LCAiKD88PVxcJGIpKC4qKSIpLA0KICAgICAgICAgbWllanNjZV93eWRhbmlhID0gc3RyX3JlcGxhY2VfYWxsKHN0cl9leHRyYWN0X2FsbCh3eWRhd25pY3R3b190ZXN0LCAiKD88PVxcJGEpKC4qKSg/PSB7MCwxfTogezAsMX1cXCRiKXwoPzw9XFwkYSkoLiopKCQpIiksIiA7XFwkYSIsICIsICIpLA0KICAgICAgICAgbmF6d2FfcHJvc3RhID0gc3RyX3RvX2xvd2VyKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVwbGFjZV9hbGwodW5saXN0KHd5ZGF3bmljdHdvX3Rlc3QpLCAiXFwkXFx3IiwgIiIpLCAiXFxXIiwgIiIpKSkgJT4lDQogIGxlZnRfam9pbiguLFBCTF93eWRhd25pY3R3YSxieT0ibmF6d2FfcHJvc3RhIikgJT4lDQogIG11dGF0ZSh0b19zYW1vID0gd3lkYXduaWN0d289PVdZX05BWldBKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSwtdG9fc2FtbywtV1lfTElDWkJBX1pBUElTT1cpDQpCTl93eWRhd25pY3R3byRpZF9ncnVweSA8LSBjdW1zdW0oIWR1cGxpY2F0ZWQoQk5fd3lkYXduaWN0d29bMTozXSkpDQpCTl93eWRhd25pY3R3byA8LSBCTl93eWRhd25pY3R3b1shZHVwbGljYXRlZChCTl93eWRhd25pY3R3byRpZF9ncnVweSksXSAlPiUNCiAgbXV0YXRlKFdZX05BWldBID0gaWZlbHNlKCFpcy5uYShXWV9OQVpXQSksYXMuY2hhcmFjdGVyKFdZX05BWldBKSxhcy5jaGFyYWN0ZXIod3lkYXduaWN0d28pKSwNCiAgICAgICAgIFdZX01JQVNUTyA9IGlmZWxzZSghaXMubmEoV1lfTUlBU1RPKSxhcy5jaGFyYWN0ZXIoV1lfTUlBU1RPKSx0cmltKGFzLmNoYXJhY3RlcihtaWVqc2NlX3d5ZGFuaWEpKSksDQogICAgICAgICByb2tfd3lkYW5pYSA9IHN0cl9yZXBsYWNlX2FsbChyb2tfd3lkYW5pYSwgIiguKikoXFwuKSIsICJcXDEiKSwNCiAgICAgICAgIHphX3Jva193eWRhbmlhID0gaWZlbHNlKG5jaGFyKHJva193eWRhbmlhKT09NCxhcy5jaGFyYWN0ZXIocm9rX3d5ZGFuaWEpLE5BKSwNCiAgICAgICAgIGRvX29waXN1ID0gaWZlbHNlKGlzLm5hKHphX3Jva193eWRhbmlhKSxwYXN0ZSgiWyIsc3RyX2V4dHJhY3Qocm9rX3d5ZGFuaWEsIlxcZHs0fSIpLCJdIixzZXAgPSAiIiksIiIpLA0KICAgICAgICAgV1lfTUlBU1RPID0gaWZlbHNlKHN1YnN0cihXWV9NSUFTVE8sMSwxKT09IlsiJnN1YnN0cihXWV9NSUFTVE8sbmNoYXIoV1lfTUlBU1RPKSxuY2hhcihXWV9NSUFTVE8pKSE9Il0iJmlzLm5hKFdZX1dZREFXTklDVFdPX0lEKSxwYXN0ZSh0cmltKFdZX01JQVNUTyksIl0iLHNlcCA9ICIiKSxhcy5jaGFyYWN0ZXIoV1lfTUlBU1RPKSkpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksV1lfV1lEQVdOSUNUV09fSUQsV1lfTkFaV0EsV1lfTUlBU1RPLHphX3Jva193eWRhbmlhLGRvX29waXN1KSAlPiUgDQogIG11dGF0ZShXWV9OQVpXQSA9IGlmZWxzZShzdHJfY291bnQoV1lfTkFaV0EsICJcXFsiKT5zdHJfY291bnQoV1lfTkFaV0EsICJcXF0iKSwgcGFzdGUoV1lfTkFaV0EsICJdIiwgc2VwID0gIiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHN0cl9jb3VudChXWV9OQVpXQSwgIlxcWyIpPHN0cl9jb3VudChXWV9OQVpXQSwgIlxcXSIpLCBwYXN0ZSgiWyIsIFdZX05BWldBLCBzZXAgPSAiIiksIGFzLmNoYXJhY3RlcihXWV9OQVpXQSkpKSwNCiAgICAgICAgIFdZX01JQVNUTyA9IGlmZWxzZShzdHJfY291bnQoV1lfTUlBU1RPLCAiXFxbIik+c3RyX2NvdW50KFdZX01JQVNUTywgIlxcXSIpLCBwYXN0ZShXWV9NSUFTVE8sICJdIiwgc2VwID0gIiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHN0cl9jb3VudChXWV9NSUFTVE8sICJcXFsiKTxzdHJfY291bnQoV1lfTUlBU1RPLCAiXFxdIiksIHBhc3RlKCJbIiwgV1lfTUlBU1RPLCBzZXAgPSAiIiksIGFzLmNoYXJhY3RlcihXWV9NSUFTVE8pKSkpDQoNCiMxMTogb3BpcyBmaXp5Y3pueSBrc2nEhcW8a2kNCiNwb2xlIDMwMCBkbyBvcGlzdSBmaXp5Y3puZWdvDQptYXJjX2ZpZWxkXzMwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDMwMCklPiUNCiAgZmlsdGVyKFgzMDAhPSIiKSAlPiUNCiAgbXV0YXRlKFgzMDA9c3RyX3JlcGxhY2VfYWxsKFgzMDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDMwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYMzAwIT0iIikgJT4lDQogIG11dGF0ZShYMzAwPXN0cl9yZW1vdmVfYWxsKFgzMDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDMwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFgzMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8zMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMzAwPC1jYmluZChtYXJjX2ZpZWxkXzMwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzMwMCRYMzAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMzAwJFgzMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMzAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMzAwJFgzMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzMwMCRYMzAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCmlmKCIkZSIgJWluJSBjb2xuYW1lcyhtYXJjX2ZpZWxkXzMwMCkpIHsNCm1hcmNfZmllbGRfMzAwIDwtIG1hcmNfZmllbGRfMzAwICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpLA0KICAgICAgICAgYCRiYCA9IHN0cl9yZW1vdmUoYCRiYCwiIFxcOyskfCBcXDorJCIpLA0KICAgICAgICAgYCRlYCA9IGlmZWxzZShncmVwbCgiQ0QtUk9NfERWRHxWQ0R8Q0QiLGAkZWApJmdyZXBsKCJcXCsgZHlza3xwxYJ5dCIsYCRlYCksc3RyX2V4dHJhY3QoYCRlYCwiKD88PVxcKykoZHlza3xwxYJ5dC4qPykoQ0QtUk9NfERWRHxWQ0R8Q0QpKFxcKSl7MCwxfSIpLA0KICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZ3JlcGwoIkNELVJPTXxEVkR8VkNEfENEIixgJGVgKSxzdHJfZXh0cmFjdChgJGVgLCIoXi4qPykoQ0QtUk9NfERWRHxWQ0R8Q0QpKFxcKSl7MCwxfSIpLE5BKSksDQogICAgICAgICBgJGFgID0gaWZlbHNlKGlzLm5hKGAkYWApLCIiLGFzLmNoYXJhY3RlcihgJGFgKSksDQogICAgICAgICBgJGJgID0gaWZlbHNlKGlzLm5hKGAkYmApLCIiLGFzLmNoYXJhY3RlcihgJGJgKSksDQogICAgICAgICBgJGVgID0gaWZlbHNlKGlzLm5hKGAkZWApLCIiLGFzLmNoYXJhY3RlcihgJGVgKSkpDQp9IGVsc2Ugew0KICBtYXJjX2ZpZWxkXzMwMCA8LSBtYXJjX2ZpZWxkXzMwMCAlPiUNCiAgbXV0YXRlKGAkYWAgPSBzdHJfcmVtb3ZlKGAkYWAsIiBcXDsrJHwgXFw6KyQiKSwNCiAgICAgICAgIGAkYmAgPSBzdHJfcmVtb3ZlKGAkYmAsIiBcXDsrJHwgXFw6KyQiKSwNCiAgICAgICAgIGAkYWAgPSBpZmVsc2UoaXMubmEoYCRhYCksIiIsYXMuY2hhcmFjdGVyKGAkYWApKSwNCiAgICAgICAgIGAkYmAgPSBpZmVsc2UoaXMubmEoYCRiYCksIiIsYXMuY2hhcmFjdGVyKGAkYmApKSkNCn0NCiNwb2xlIDUwMCBkbyBvcGlzdSBmaXp5Y3puZWdvDQptYXJjX2ZpZWxkXzUwMCA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksWDUwMCklPiUNCiAgZmlsdGVyKFg1MDAhPSIiKSAlPiUNCiAgbXV0YXRlKFg1MDA9c3RyX3JlcGxhY2VfYWxsKFg1MDAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDUwMCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNTAwIT0iIikgJT4lDQogIG11dGF0ZShYNTAwPXN0cl9yZW1vdmVfYWxsKFg1MDAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDUwMCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg1MDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF81MDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNTAwPC1jYmluZChtYXJjX2ZpZWxkXzUwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzUwMCRYNTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNTAwJFg1MDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNTAwJFg1MDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzUwMCRYNTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQptYXJjX2ZpZWxkXzUwMCA8LSBtYXJjX2ZpZWxkXzUwMCAlPiUNCiAgbXV0YXRlKGAkYWAgPSBpZmVsc2UoZ3JlcGwoIm9yeWcoXFwufFxcLCkiLFg1MDApJmdyZXBsKCJwc2V1ZHxuYXp3YSIsWDUwMCxpZ25vcmUuY2FzZSA9IFRSVUUpLHN0cl9yZXBsYWNlKGAkYWAsIiheLio/KShcXC4gKShcXHB7THV9LiokKSIsIlxcMyIpLGFzLmNoYXJhY3RlcihgJGFgKSkpICU+JSANCiAgZmlsdGVyKCFncmVwbCgib3J5ZyhcXC58XFwsKSIsYCRhYCkmZ3JlcGwoInBzZXVkfG5hendhfGRvdHljenxwb2wiLGAkYWAsaWdub3JlLmNhc2UgPSBUUlVFKSkgJT4lDQogIG11dGF0ZShgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIikpDQogIA0KI3BvbGUgNTQ2IGRvIG9waXN1IGZpenljem5lZ28NCm1hcmNfZmllbGRfNTQ2IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNTQ2KSU+JQ0KICBmaWx0ZXIoWDU0NiE9IiIpICU+JQ0KICBtdXRhdGUoWDU0Nj1zdHJfcmVwbGFjZV9hbGwoWDU0NiwiKF58XFx8KSIsIn5cXDEiKSkgJT4lDQogIGNTcGxpdCguLCJYNTQ2IixzZXAgPSAifiIsZGlyZWN0aW9uID0gImxvbmciKSAlPiUNCiAgZmlsdGVyKFg1NDYhPSIiKSAlPiUNCiAgbXV0YXRlKFg1NDY9c3RyX3JlbW92ZV9hbGwoWDU0NiwiXlxcfCIpKSAlPiUNCiAgbXV0YXRlKGluZGljYXRvciA9IHN0cl9yZXBsYWNlX2FsbChYNTQ2LCIoXi4qPykoXFwkLiopIiwiXFwxIikpDQpzdWJmaWVsZF9saXN0PC0gc3RyX2V4dHJhY3RfYWxsKGRhdGEkWDU0NiwiXFwkLiIpDQpzdWJmaWVsZF9saXN0PC0gdW5pcXVlKHVubGlzdChzdWJmaWVsZF9saXN0KSkNCmVtcHR5X3RhYmxlPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbCA9IGxlbmd0aChzdWJmaWVsZF9saXN0KSxucm93ID0gbGVuZ3RocyhtYXJjX2ZpZWxkXzU0NilbMV0pKQ0KY29sbmFtZXMoZW1wdHlfdGFibGUpIDwtc3ViZmllbGRfbGlzdA0KbWFyY19maWVsZF81NDY8LWNiaW5kKG1hcmNfZmllbGRfNTQ2LGVtcHR5X3RhYmxlKQ0Kc3ViZmllbGRfbGlzdF9jaGFyIDwtIHBhc3RlKCIoIixzdWJmaWVsZF9saXN0LCIpIixzZXAgPSAiIikNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdF9jaGFyLCJcXCQiLCJcXFxcJCIpDQoNCnggPC0gMTpsZW5ndGgoc3ViZmllbGRfbGlzdCkNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIG1hcmNfZmllbGRfNTQ2JFg1NDYgPC0gc3RyX3JlcGxhY2UobWFyY19maWVsZF81NDYkWDU0NixzdWJmaWVsZF9saXN0X2NoYXJbaV0sInxcXDEiKQ0KfQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgc3ViZmllbGRfbGlzdF9jaGFyMiA8LSBzdHJfcmVwbGFjZV9hbGwoc3ViZmllbGRfbGlzdCwiXFwkIiwiXFxcXCQiKQ0KICBzdHJpbmdfYSA8LSAiKF4pKC4qP1xcfCINCiAgc3RyaW5nX2IgPC0gc3ViZmllbGRfbGlzdF9jaGFyMltpXQ0KICBzdHJpbmdfYyA8LSAiKSguKj8pKFxcLHswLDF9KSgoXFx8XFwkKSguKil8JCkiDQogIHN0cmluZyA8LSBwYXN0ZShzdHJpbmdfYSxzdHJpbmdfYixzdHJpbmdfYyxzZXAgPSAiIikNCiAgbWFyY19maWVsZF81NDZbLGkrM10gPC0gaWZlbHNlKGdyZXBsKHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0sbWFyY19maWVsZF81NDYkWDU0Niksc3RyX3JlcGxhY2VfYWxsKGdzdWIoc3RyaW5nLCJcXDMiLG1hcmNfZmllbGRfNTQ2JFg1NDYpLCJcXCR7Mn0uIiwgIn4iKSxOQSkNCn0NCm1hcmNfZmllbGRfNTQ2IDwtIG1hcmNfZmllbGRfNTQ2ICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZW1vdmUoYCRhYCwiIFxcOyskfCBcXDorJCIpKQ0KDQppZigiJGUiICVpbiUgY29sbmFtZXMobWFyY19maWVsZF8zMDApKSB7DQp6YV9vcGlzX2tzIDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIGxlZnRfam9pbiguLEJOX3d5ZGF3bmljdHdvICU+JSBzZWxlY3QoWkFfVVdBR0ksZG9fb3Bpc3UpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzMwMCAlPiUgc2VsZWN0KFpBX1VXQUdJLFgzMDBhPWAkYWAsWDMwMGI9YCRiYCxYMzAwZT1gJGVgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81MDAgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTAwYT1gJGFgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81NDYgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTQ2YT1gJGFgKSxieT0iWkFfVVdBR0kiKQ0KemFfb3Bpc19rc1tpcy5uYSh6YV9vcGlzX2tzKV0gIDwtICIiDQp6YV9vcGlzX2tzIDwtIHphX29waXNfa3MgJT4lDQogIG11dGF0ZSh6YV9vcGlzX2tzID0gcGFzdGUoaWZlbHNlKGRvX29waXN1IT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoZG9fb3Bpc3UpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDMwMGEhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYMzAwYSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYMzAwYiE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFgzMDBiKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFgzMDBlIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDMwMGUpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDUwMGEhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYNTAwYSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYNTQ2YSE9IiIsYXMuY2hhcmFjdGVyKFg1NDZhKSwiIiksc2VwID0gIiIpLA0KICAgICAgICAgemFfb3Bpc19rcyA9IHN0cl9yZW1vdmUoemFfb3Bpc19rcywiKCwgKSskIikpICU+JQ0KICBzZWxlY3QoWkFfVVdBR0ksemFfb3Bpc19rcykgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLC1uY2hhcih6YV9vcGlzX2tzKSkNCn0gZWxzZSB7DQogIHphX29waXNfa3MgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3lkYXduaWN0d28gJT4lIHNlbGVjdChaQV9VV0FHSSxkb19vcGlzdSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLG1hcmNfZmllbGRfMzAwICU+JSBzZWxlY3QoWkFfVVdBR0ksWDMwMGE9YCRhYCxYMzAwYj1gJGJgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81MDAgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTAwYT1gJGFgKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sbWFyY19maWVsZF81NDYgJT4lIHNlbGVjdChaQV9VV0FHSSxYNTQ2YT1gJGFgKSxieT0iWkFfVVdBR0kiKQ0KemFfb3Bpc19rc1tpcy5uYSh6YV9vcGlzX2tzKV0gIDwtICIiDQp6YV9vcGlzX2tzIDwtIHphX29waXNfa3MgJT4lDQogIG11dGF0ZSh6YV9vcGlzX2tzID0gcGFzdGUoaWZlbHNlKGRvX29waXN1IT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoZG9fb3Bpc3UpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDMwMGEhPSIiLHBhc3RlKGFzLmNoYXJhY3RlcihYMzAwYSksIiwgIixzZXAgPSAiIiksIiIpLGlmZWxzZShYMzAwYiE9IiIscGFzdGUoYXMuY2hhcmFjdGVyKFgzMDBiKSwiLCAiLHNlcCA9ICIiKSwiIiksaWZlbHNlKFg1MDBhIT0iIixwYXN0ZShhcy5jaGFyYWN0ZXIoWDUwMGEpLCIsICIsc2VwID0gIiIpLCIiKSxpZmVsc2UoWDU0NmEhPSIiLGFzLmNoYXJhY3RlcihYNTQ2YSksIiIpLHNlcCA9ICIiKSwNCiAgICAgICAgIHphX29waXNfa3MgPSBzdHJfcmVtb3ZlKHphX29waXNfa3MsIigsICkrJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHphX29waXNfa3MpICU+JQ0KICB1bmlxdWUoKSAlPiUNCiAgYXJyYW5nZShaQV9VV0FHSSwtbmNoYXIoemFfb3Bpc19rcykpDQp9DQp6YV9vcGlzX2tzJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZCh6YV9vcGlzX2tzWzFdKSkNCnphX29waXNfa3MgPC0gemFfb3Bpc19rc1shZHVwbGljYXRlZCh6YV9vcGlzX2tzJGlkX2dydXB5KSxdICU+JQ0KICBzZWxlY3QoLWlkX2dydXB5KQ0KDQp3c3BfaW5mbyA8LSB6YV9vcGlzX2tzICU+JSANCiAgbGVmdF9qb2luKHR5dHVsX3dzcG9sd3lkYW5pZSxieT0iWkFfVVdBR0kiKSAlPiUgDQogIGxlZnRfam9pbihCTl9hdXRvcixieT0iWkFfVVdBR0kiKSAlPiUgDQogIG11dGF0ZSh3c3AgPSBwYXN0ZSgiW1dzcMOzxYJ3eWQuOiAiLGlmZWxzZShBTV9JTUlFPT0iKiIsIiIsQU1fSU1JRSksIiAiLEFNX05BWldJU0tPLCI6ICIsWkFfVFlUVUwsIl0iLCBzZXAgPSAiIiksDQogICAgICAgICB6YV91d2FnaTIgPSBzdHJfcmVtb3ZlX2FsbChaQV9VV0FHSSwiLiQiKSkNCg0Kd3NwX2luZm8gJSQlICANCiAgICB7IHphX3V3YWdpMiA9PSBkcGx5cjo6bGFnKHphX3V3YWdpMiwgMSl9ICU+JSANCiAgICBhcy5udW1lcmljKCkgJT4lIA0KICAgIHsufSAtPiB3c3BfaW5mbyRzYW1lDQp3c3BfaW5mbyRzYW1lWzFdIDwtIDANCg0Kd3NwX2luZm8gPC0gd3NwX2luZm8gJT4lIA0KICBhcnJhbmdlKHphX3V3YWdpMiwtc2FtZSkNCg0KemFfb3Bpc19rcyA8LSB6YV9vcGlzX2tzICU+JSANCiAgYmluZF9jb2xzKHdzcF9pbmZvICU+JSBzZWxlY3Qod3NwKSkgJT4lIA0KICB1bml0ZSgiemFfb3Bpc19rcyIsemFfb3Bpc19rczp3c3AscmVtb3ZlID0gVFJVRSxzZXAgPSAiICIpDQoNCiMxMjogc2VyaWEgd3lkYXduaWN6YQ0KbWFyY19maWVsZF80OTAgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFg0OTAsWDgwMCxYODMwKSAlPiUNCiAgbXV0YXRlKFg0OTAgPSBpZmVsc2UoZ3JlcGwoIlVcXCsiLFg0OTApLGFzLmNoYXJhY3RlcihYODMwKSxhcy5jaGFyYWN0ZXIoWDQ5MCkpKSAlPiUNCiAgbXV0YXRlKFg4MDAgPSBpZmVsc2UoWDQ5MCE9IiIsIiIsYXMuY2hhcmFjdGVyKFg4MDApKSwNCiAgICAgICAgIFg4MzAgPSBpZmVsc2UoWDQ5MCE9IiIsIiIsYXMuY2hhcmFjdGVyKFg4MzApKSwNCiAgICAgICAgIFg4MDAgPSBzdHJfcmVwbGFjZShYODAwLCIoXFwkYSkoLiopKFxcJHQpIiwiXFwxIiksDQogICAgICAgICBYNDkwID0gaWZlbHNlKFg0OTA9PSIiJlg4MzAhPSIiLGFzLmNoYXJhY3RlcihYODMwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFg0OTA9PSIiJlg4MDAhPSIiLGFzLmNoYXJhY3RlcihYODAwKSxhcy5jaGFyYWN0ZXIoWDQ5MCkpKSkgJT4lDQogIHNlbGVjdChaQV9VV0FHSSxYNDkwKSAlPiUNCiAgZmlsdGVyKFg0OTAhPSIiKSAlPiUNCiAgbXV0YXRlKFg0OTA9c3RyX3JlcGxhY2VfYWxsKFg0OTAsIihefFxcfCkiLCJ+XFwxIikpICU+JQ0KICBjU3BsaXQoLiwiWDQ5MCIsc2VwID0gIn4iLGRpcmVjdGlvbiA9ICJsb25nIikgJT4lDQogIGZpbHRlcihYNDkwIT0iIikgJT4lDQogIG11dGF0ZShYNDkwPXN0cl9yZW1vdmVfYWxsKFg0OTAsIl5cXHwiKSkgJT4lDQogIG11dGF0ZShpbmRpY2F0b3IgPSBzdHJfcmVwbGFjZV9hbGwoWDQ5MCwiKF4uKj8pKFxcJC4qKSIsIlxcMSIpKQ0Kc3ViZmllbGRfbGlzdDwtIHN0cl9leHRyYWN0X2FsbChkYXRhJFg0OTAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF80OTApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfNDkwPC1jYmluZChtYXJjX2ZpZWxkXzQ5MCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzQ5MCRYNDkwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfNDkwJFg0OTAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfNDkwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfNDkwJFg0OTApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzQ5MCRYNDkwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQp6YV9zZXJpYV93eWRhd25pY3phIDwtIG1hcmNfZmllbGRfNDkwICU+JQ0KICBtdXRhdGUoYCRhYCA9IHN0cl9yZXBsYWNlX2FsbChgJGFgLCIoPSkoXFwkYSkiLCJcXDEgIiksDQogICAgICAgICBgJGFgID0gc3RyX3JlbW92ZShgJGFgLCIgXFw7KyR8IFxcOiskIiksDQogICAgICAgICBgJHZgID0gaWZlbHNlKGlzLm5hKGAkdmApLCIiLGFzLmNoYXJhY3RlcihgJHZgKSkpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGAkYWApKSAlPiUNCiAgbXV0YXRlKHNlcmlhID0gc3RyX3JlbW92ZShwYXN0ZSgiKCIsYCRhYCwiOyAiLGAkdmAsIikiLHNlcCA9ICIiKSwiOyAoPz1cXCkkKSIpLA0KICAgICAgICAgc2VyaWEgPSBnc3ViKCIoIDogKSguKSIsIi4gXFxVXFwyIixwZXJsPVRSVUUsc2VyaWEpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLHNlcmlhKSAlPiUNCiAgZ3JvdXBfYnkoWkFfVVdBR0kpICU+JQ0KICBtdXRhdGUoc2VyaWEgPSBwYXN0ZShzZXJpYSxjb2xsYXBzZSA9ICIgIikpICU+JQ0KICB1bmdyb3VwKCkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBtdXRhdGUoc2VyaWEgPSBzdHJfcmVwbGFjZV9hbGwoc2VyaWEsIlxcJC4iLCI7ICIpKSAlPiUNCiAgcmlnaHRfam9pbiguLGRhdGEgJT4lIHNlbGVjdChaQV9VV0FHSSksYnk9IlpBX1VXQUdJIikNCg0KIzEzOiB0b215DQp6YV90b215IDwtIGRhdGEgJT4lDQogIHNlbGVjdChaQV9VV0FHSSkgJT4lDQogIG11dGF0ZSh6YV90b215ID0gTkEpDQoNCiMxNDogYWRub3RhY2plDQp6YV9hZG5vdGFjamUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IgJT4lIHNlbGVjdChaQV9VV0FHSSxaQV9BRE5PVEFDSkUpLGJ5PSJaQV9VV0FHSSIpICU+JQ0KICBtdXRhdGUoWkFfQUROT1RBQ0pFID0gaWZlbHNlKGlzLm5hKFpBX0FETk9UQUNKRSksIiIscGFzdGUoYXMuY2hhcmFjdGVyKFpBX0FETk9UQUNKRSksIiMgIixzZXAgPSAiIikpLA0KICAgICAgICAgWkFfQUROT1RBQ0pFID0gc3RyX3JlbW92ZShaQV9BRE5PVEFDSkUsIigjICkrJCIpKSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLFpBX0FETk9UQUNKRSkgJT4lDQogIHVuaXF1ZSgpICU+JQ0KICBhcnJhbmdlKFpBX1VXQUdJLC1uY2hhcihaQV9BRE5PVEFDSkUpKQ0KemFfYWRub3RhY2plJGlkX2dydXB5IDwtIGN1bXN1bSghZHVwbGljYXRlZCh6YV9hZG5vdGFjamVbMV0pKQ0KemFfYWRub3RhY2plIDwtIHphX2Fkbm90YWNqZVshZHVwbGljYXRlZCh6YV9hZG5vdGFjamUkaWRfZ3J1cHkpLF0gJT4lDQogIHNlbGVjdCgtaWRfZ3J1cHkpDQoNCiMxNTogQk5fVVJMDQpCTl9VUkwgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJLEJOX1VSTCkNCg0KI3d5csOzd25hbmllIGxpY3pieSB3aWVyc3p5IGRvIGxpY3pieSB3aWVyc3p5IG9iaWVrdHUgZGF0YQ0KQk5fYXV0b3IgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IgJT4lIHNlbGVjdChaQV9VV0FHSSxBTV9BVVRPUl9JRCxBTV9OQVpXSVNLTyxBTV9JTUlFKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgQU1fQVVUT1JfSUQgPSBwYXN0ZShBTV9BVVRPUl9JRCwgY29sbGFwc2U9InwiKSwgQU1fTkFaV0lTS08gPSBwYXN0ZShBTV9OQVpXSVNLTywgY29sbGFwc2U9InwiKSwgQU1fSU1JRSA9IHBhc3RlKEFNX0lNSUUsIGNvbGxhcHNlPSJ8IikpDQpCTl93c3BvbHR3b3JjYSA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSAlPiUgc2VsZWN0KFpBX1VXQUdJLE9TX09TT0JBX0lELE9TX05BWldJU0tPLE9TX0lNSUUsZm9fc3ltYm9sKSxieT0iWkFfVVdBR0kiKSAlPiUNCiAgZGRwbHkoLiwgLihaQV9VV0FHSSksIHN1bW1hcml6ZSwgT1NfT1NPQkFfSUQgPSBwYXN0ZShPU19PU09CQV9JRCwgY29sbGFwc2U9InwiKSwgT1NfTkFaV0lTS08gPSBwYXN0ZShPU19OQVpXSVNLTywgY29sbGFwc2U9InwiKSwgT1NfSU1JRSA9IHBhc3RlKE9TX0lNSUUsIGNvbGxhcHNlPSJ8IiksIGZvX3N5bWJvbCA9IHBhc3RlKGZvX3N5bWJvbCwgY29sbGFwc2U9InwiKSkgJT4lDQogIG11dGF0ZShmb19zeW1ib2wgPSBpZmVsc2UoZm9fc3ltYm9sPT0iTlVMTCIsIk5BIixhcy5jaGFyYWN0ZXIoZm9fc3ltYm9sKSkpDQpCTl93eWRhd25pY3R3byA8LSBkYXRhICU+JQ0KICBzZWxlY3QoWkFfVVdBR0kpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93eWRhd25pY3R3byAlPiUgc2VsZWN0KFpBX1VXQUdJLFdZX1dZREFXTklDVFdPX0lELFdZX05BWldBLFdZX01JQVNUTyx6YV9yb2tfd3lkYW5pYSksYnk9IlpBX1VXQUdJIikgJT4lDQogIGRkcGx5KC4sIC4oWkFfVVdBR0kpLCBzdW1tYXJpemUsIFdZX1dZREFXTklDVFdPX0lEID0gcGFzdGUoV1lfV1lEQVdOSUNUV09fSUQsIGNvbGxhcHNlPSJ8IiksIFdZX05BWldBID0gcGFzdGUoV1lfTkFaV0EsIGNvbGxhcHNlPSJ8IiksIFdZX01JQVNUTyA9IHBhc3RlKFdZX01JQVNUTywgY29sbGFwc2U9InwiKSwgemFfcm9rX3d5ZGFuaWEgPSBwYXN0ZSh1bmlxdWUoemFfcm9rX3d5ZGFuaWEpLCBjb2xsYXBzZT0ifCIpKSAlPiUNCiAgbXV0YXRlKHphX3Jva193eWRhbmlhID0gaWZlbHNlKHphX3Jva193eWRhbmlhPT0iTkEiLCIiLGFzLmludGVnZXIoemFfcm9rX3d5ZGFuaWEpKSkNCg0KI3BvxYLEhWN6ZW5pZSB3c3p5c3RraWNoIGVsZW1lbnTDs3cgdyBqZWRuxIUgdGFiZWzEmQ0Ka29sZWpub3NjIDwtIGRhdGEuZnJhbWUoa29sZWpub3NjPWMoIlpBX1VXQUdJIiwiUlpfTkFaV0EiLCJaQV9ST19ST0siLCJaQV9UWVBFIiwiUlpfUk9EWkFKX0lEIiwiRFpfTkFaV0EiLCJEWl9EWklBTF9JRCIsIlRXX1RXT1JDQV9JRCIsIkFNX0FVVE9SX0lEIiwiQU1fTkFaV0lTS08iLCJBTV9JTUlFIiwiWkFfVFlUVUwiLCJaQV9UWVRVTF9PUllHSU5BTFUiLCJaQV9KRVpZS19PUllHSU5BTFUiLCJPU19PU09CQV9JRCIsIk9TX05BWldJU0tPIiwiT1NfSU1JRSIsImZvX3N5bWJvbCIsInphX29waXNfd3Nwb2x0d29yY293Iiwid3lkYW5pZSIsInphX3RvbXkiLCJpbnN0eXR1Y2phIiwiV1lfV1lEQVdOSUNUV09fSUQiLCJXWV9NSUFTVE8iLCJXWV9OQVpXQSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19rcyIsInNlcmlhIiwiVFdfTkFaV0lTS08iLCJUV19JTUlFIiwicmVkYWt0b3JfZHppYWx1IiwiWkFfQUROT1RBQ0pFIiwiQk5fVVJMIikpDQpwb2xhY3pvbmUgPC0gZGF0YSAlPiUNCiAgc2VsZWN0KFpBX1VXQUdJKSAlPiUNCiAgbGVmdF9qb2luKC4scG9sYV9wYmwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fYXV0b3IsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWwsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfdHl0dWxfb3J5Z2luYWx1LGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2plenlrX29yeWdpbmFsdSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLixCTl93c3BvbHR3b3JjYSxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9vcGlzX3dzcG9sdHdvcmNvdyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV93eWRhbmllLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX2luc3R5dHVjamEsYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4sQk5fd3lkYXduaWN0d28sYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfb3Bpc19rcyxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBsZWZ0X2pvaW4oLix6YV9zZXJpYV93eWRhd25pY3phLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLHphX3RvbXksYnkgPSAiWkFfVVdBR0kiKSAlPiUNCiAgbGVmdF9qb2luKC4semFfYWRub3RhY2plLGJ5ID0gIlpBX1VXQUdJIikgJT4lDQogIGxlZnRfam9pbiguLEJOX1VSTCxieSA9ICJaQV9VV0FHSSIpICU+JQ0KICBzZWxlY3QoYXMudmVjdG9yKGtvbGVqbm9zYyRrb2xlam5vc2MpKQ0KY29sbmFtZXMocG9sYWN6b25lKSA8LSBjKCJyZWtvcmRfQk4iLCJyel9uYXp3YSIsInphX3JvX3JvayIsInphX3R5cGUiLCJyel9yb2R6YWpfaWQiLCJEWl9OQVpXQSIsIkRaX0RaSUFMX0lEIiwidHdfdHdvcmNhX2lkIiwiYW1fYXV0b3JfaWQiLCJhbV9uYXp3aXNrbyIsImFtX2ltaWUiLCJ6YV90eXR1bCIsInphX3R5dHVsX29yeWdpbmFsdSIsInphX2plenlrX29yeWdpbmFsdSIsIm9zX29zb2JhX2lkIiwib3NfbmF6d2lza28iLCJvc19pbWllIiwiZm9fc3ltYm9sIiwiemFfb3Bpc193c3BvbHR3b3Jjb3ciLCJ6YV93eWRhbmllIiwiemFfdG9teSIsInphX2luc3R5dHVjamEiLCJ3eV93eWRhd25pY3R3b19pZCIsInd5X21pZWpzY2UiLCJ3eV9uYXp3YSIsInphX3Jva193eWRhbmlhIiwiemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIiwiemFfc2VyaWFfd3lkYXduaWN6YSIsInR3X25hendpc2tvIiwidHdfaW1pZSIsInByYWNvd25payIsInphX2Fkbm90YWNqZSIsIkJOX1VSTCIpDQoNCiN6YXN5Z25hbGl6b3dhbmllIG5pZXBvcHJhd25lZ28ga29kb3dhbmlhDQp4IDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCI8VVxcKyguLi4uKT4iLHBvbGFjem9uZVssaV0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkhPTAscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIELFgsSFZCBrb2Rvd2FuaWEgdyBwb2x1ICIsYXMuY2hhcmFjdGVyKG5hbWVzKHBvbGFjem9uZVtpXSkpLCIgWm5hamTFuiBmcmF6xJkgXCI/Pz9cIiBpIHpyZWRhZ3VqIHBvbGUuIixzZXAgPSAiIiksc2VwID0gIiMgIikscGFzdGUoIlVXQUdBISBCxYLEhWQga29kb3dhbmlhIHcgcG9sdSAiLGFzLmNoYXJhY3RlcihuYW1lcyhwb2xhY3pvbmVbaV0pKSwiIFpuYWpkxbogZnJhesSZIFwiPz8/XCIgaSB6cmVkYWd1aiBwb2xlLiIsc2VwID0gIiIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQogIHBvbGFjem9uZVssaV0gPC0gZ3N1YigiPFVcXCsoLi4uLik+IiwgIj8/PyIsIHBvbGFjem9uZVssaV0pDQp9DQojemFzeWduYWxpem93YW5pZSBvYmVjbm/Fm2NpIHpuYWt1ICQgdyBrdMOzcnltxZsgeiBww7NsDQpYIDwtIDE6KGxlbmd0aChwb2xhY3pvbmUpLTIpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIHBvbGFjem9uZSR6YV9hZG5vdGFjamUgPC0gaWZlbHNlKGdyZXBsKCJcXCQiLHBvbGFjem9uZVssaV0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSk9PTAscGFzdGUoIlVXQUdBISBaZSB3emdsxJlkdSBuYSBixYLEmWRueSB6YXBpcyBCTiB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiB3eWRydWtvd2FubyB6bmFrIFwiJFwiLiBacmVkYWd1aiB0cmXFm8SHIHBvbGEuIixzZXAgPSAiIikscGFzdGUocG9sYWN6b25lJHphX2Fkbm90YWNqZSxwYXN0ZSgiVVdBR0EhIFplIHd6Z2zEmWR1IG5hIGLFgsSZZG55IHphcGlzIEJOIHcgcG9sdSAiLGFzLmNoYXJhY3RlcihuYW1lcyhwb2xhY3pvbmVbaV0pKSwiIHd5ZHJ1a293YW5vIHpuYWsgXCIkXCIuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxzZXAgPSAiIyAiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KfQ0KI3phc3lnbmFsaXpvd2FuaWUgb2JlY25vxZtjaSBmcmF6eSAiY2hhcmFjdGVyKDApIiB3IGt0w7NyeW3FmyB6IHDDs2wNClggPC0gMToobGVuZ3RoKHBvbGFjem9uZSktMikNCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkNCiAgcG9sYWN6b25lJHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoZ3JlcGwoImNoYXJhY3RlclxcKDBcXCkiLHBvbGFjem9uZVssaV0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UobmNoYXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSk9PTAscGFzdGUoIlVXQUdBISBaZSB3emdsxJlkdSBuYSBixYLEmWRueSB6YXBpcyBCTiB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiB3eWRydWtvd2FubyBmcmF6xJkgXCJjaGFyYWN0ZXIoMClcIi4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUscGFzdGUoIlVXQUdBISBaZSB3emdsxJlkdSBuYSBixYLEmWRueSB6YXBpcyBCTiB3IHBvbHUgIixhcy5jaGFyYWN0ZXIobmFtZXMocG9sYWN6b25lW2ldKSksIiB3eWRydWtvd2FubyBmcmF6xJkgXCJjaGFyYWN0ZXIoMClcIi4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHNlcCA9ICIjICIpKSxhcy5jaGFyYWN0ZXIocG9sYWN6b25lJHphX2Fkbm90YWNqZSkpDQp9DQojemFzeWduYWxpem93YW5pZSBvYmVjbm/Fm2NpIHpuYWt1ICMgdyBvcGlzaWUgd3Nww7PFgnR3w7NyY8Ozdw0KcG9sYWN6b25lJHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoZ3JlcGwoIlxcIyIscG9sYWN6b25lJHphX29waXNfd3Nwb2x0d29yY293KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKG5jaGFyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpPT0wLCJVV0FHQSEgWmUgd3pnbMSZZHUgbmEga29uZmxpa3QgdyBvcGlzaWUgd3Nww7PFgnR3w7NyY8OzdyB3eWJpZXJ6IHfFgmHFm2Npd8SFIHdhcnRvxZvEhyAoc3RyZWZhIG9kcG93aWVkemlhbG5vxZtjaSBcIiNcIiB3c3DDs8WCdHfDs3JjeSB6IHBvbGEgNzAwKS4iLHBhc3RlKHBvbGFjem9uZSR6YV9hZG5vdGFjamUsIlVXQUdBISBaZSB3emdsxJlkdSBuYSBrb25mbGlrdCB3IG9waXNpZSB3c3DDs8WCdHfDs3Jjw7N3IHd5Ymllcnogd8WCYcWbY2l3xIUgd2FydG/Fm8SHIChzdHJlZmEgb2Rwb3dpZWR6aWFsbm/Fm2NpICMgd3Nww7PFgnR3w7NyY3kgeiBwb2xhIDcwMCkuIixzZXAgPSAiIyAiKSksYXMuY2hhcmFjdGVyKHBvbGFjem9uZSR6YV9hZG5vdGFjamUpKQ0KDQpvdXQgPC0gY1NwbGl0KHBvbGFjem9uZSwgYygiYW1fYXV0b3JfaWQiLCAiYW1fbmF6d2lza28iLCAiYW1faW1pZSIsIm9zX29zb2JhX2lkIiwib3NfbmF6d2lza28iLCAib3NfaW1pZSIsICJmb19zeW1ib2wiLCJ3eV93eWRhd25pY3R3b19pZCIsInd5X21pZWpzY2UiLCJ3eV9uYXp3YSIpLHNlcCA9ICJ8IixkaXJlY3Rpb24gPSAibG9uZyIpICU+JQ0KICB1bmlxdWUoKQ0KDQpvdXQkcmVrb3JkX0JOIDwtIGlmZWxzZShpcy5uYShvdXQkcmVrb3JkX0JOKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHJla29yZF9CTikpDQpvdXQkcnpfbmF6d2EgPC0gaWZlbHNlKGlzLm5hKG91dCRyel9uYXp3YSksJycsYXMuY2hhcmFjdGVyKG91dCRyel9uYXp3YSkpDQpvdXQkemFfcm9fcm9rIDwtIGlmZWxzZShpcy5uYShvdXQkemFfcm9fcm9rKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3JvX3JvaykpDQpvdXQkemFfdHlwZSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3R5cGUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfdHlwZSkpDQpvdXQkcnpfcm9kemFqX2lkIDwtIGlmZWxzZShpcy5uYShvdXQkcnpfcm9kemFqX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHJ6X3JvZHphal9pZCkpDQpvdXQkRFpfTkFaV0EgPC0gaWZlbHNlKGlzLm5hKG91dCREWl9OQVpXQSksJycsYXMuY2hhcmFjdGVyKG91dCREWl9OQVpXQSkpDQpvdXQkRFpfRFpJQUxfSUQgPC0gaWZlbHNlKGlzLm5hKG91dCREWl9EWklBTF9JRCksJycsYXMuY2hhcmFjdGVyKG91dCREWl9EWklBTF9JRCkpDQpvdXQkdHdfdHdvcmNhX2lkIDwtIGlmZWxzZShpcy5uYShvdXQkdHdfdHdvcmNhX2lkKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHR3X3R3b3JjYV9pZCkpDQpvdXQkYW1fYXV0b3JfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCRhbV9hdXRvcl9pZCksJycsYXMuY2hhcmFjdGVyKG91dCRhbV9hdXRvcl9pZCkpDQpvdXQkYW1fbmF6d2lza28gPC0gaWZlbHNlKGlzLm5hKG91dCRhbV9uYXp3aXNrbyksJycsYXMuY2hhcmFjdGVyKG91dCRhbV9uYXp3aXNrbykpDQpvdXQkYW1faW1pZSA8LSBpZmVsc2UoaXMubmEob3V0JGFtX2ltaWUpLCcnLGFzLmNoYXJhY3RlcihvdXQkYW1faW1pZSkpDQpvdXQkemFfdHl0dWwgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV90eXR1bCksJycsYXMuY2hhcmFjdGVyKG91dCR6YV90eXR1bCkpDQpvdXQkemFfdHl0dWxfb3J5Z2luYWx1IDwtIGlmZWxzZShpcy5uYShvdXQkemFfdHl0dWxfb3J5Z2luYWx1KSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX3R5dHVsX29yeWdpbmFsdSkpDQpvdXQkemFfamV6eWtfb3J5Z2luYWx1IDwtIGlmZWxzZShpcy5uYShvdXQkemFfamV6eWtfb3J5Z2luYWx1KSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX2plenlrX29yeWdpbmFsdSkpDQpvdXQkb3Nfb3NvYmFfaWQgPC0gaWZlbHNlKGlzLm5hKG91dCRvc19vc29iYV9pZCksJycsYXMuY2hhcmFjdGVyKG91dCRvc19vc29iYV9pZCkpDQpvdXQkb3NfbmF6d2lza28gPC0gaWZlbHNlKGlzLm5hKG91dCRvc19uYXp3aXNrbyksJycsYXMuY2hhcmFjdGVyKG91dCRvc19uYXp3aXNrbykpDQpvdXQkb3NfaW1pZSA8LSBpZmVsc2UoaXMubmEob3V0JG9zX2ltaWUpLCcnLGFzLmNoYXJhY3RlcihvdXQkb3NfaW1pZSkpDQpvdXQkZm9fc3ltYm9sIDwtIGlmZWxzZShpcy5uYShvdXQkZm9fc3ltYm9sKSwnJyxhcy5jaGFyYWN0ZXIob3V0JGZvX3N5bWJvbCkpDQpvdXQkemFfb3Bpc193c3BvbHR3b3Jjb3cgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9vcGlzX3dzcG9sdHdvcmNvdyksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9vcGlzX3dzcG9sdHdvcmNvdykpDQpvdXQkemFfd3lkYW5pZSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3d5ZGFuaWUpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfd3lkYW5pZSkpDQpvdXQkemFfdG9teSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3RvbXkpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfdG9teSkpDQpvdXQkemFfaW5zdHl0dWNqYSA8LSBpZmVsc2UoaXMubmEob3V0JHphX2luc3R5dHVjamEpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfaW5zdHl0dWNqYSkpDQpvdXQkd3lfd3lkYXduaWN0d29faWQgPC0gaWZlbHNlKGlzLm5hKG91dCR3eV93eWRhd25pY3R3b19pZCksJycsYXMuY2hhcmFjdGVyKG91dCR3eV93eWRhd25pY3R3b19pZCkpDQpvdXQkd3lfbWllanNjZSA8LSBpZmVsc2UoaXMubmEob3V0JHd5X21pZWpzY2UpLCcnLGFzLmNoYXJhY3RlcihvdXQkd3lfbWllanNjZSkpDQpvdXQkd3lfbmF6d2EgPC0gaWZlbHNlKGlzLm5hKG91dCR3eV9uYXp3YSksJycsYXMuY2hhcmFjdGVyKG91dCR3eV9uYXp3YSkpDQpvdXQkemFfcm9rX3d5ZGFuaWEgPC0gaWZlbHNlKGlzLm5hKG91dCR6YV9yb2tfd3lkYW5pYSksJycsYXMuY2hhcmFjdGVyKG91dCR6YV9yb2tfd3lkYW5pYSkpDQpvdXQkemFfb3Bpc19maXp5Y3pueV9rc2lhemtpIDwtIGlmZWxzZShpcy5uYShvdXQkemFfb3Bpc19maXp5Y3pueV9rc2lhemtpKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX29waXNfZml6eWN6bnlfa3NpYXpraSkpDQpvdXQkemFfc2VyaWFfd3lkYXduaWN6YSA8LSBpZmVsc2UoaXMubmEob3V0JHphX3NlcmlhX3d5ZGF3bmljemEpLCcnLGFzLmNoYXJhY3RlcihvdXQkemFfc2VyaWFfd3lkYXduaWN6YSkpDQpvdXQkdHdfbmF6d2lza28gPC0gaWZlbHNlKGlzLm5hKG91dCR0d19uYXp3aXNrbyksJycsYXMuY2hhcmFjdGVyKG91dCR0d19uYXp3aXNrbykpDQpvdXQkdHdfaW1pZSA8LSBpZmVsc2UoaXMubmEob3V0JHR3X2ltaWUpLCcnLGFzLmNoYXJhY3RlcihvdXQkdHdfaW1pZSkpDQpvdXQkcHJhY293bmlrIDwtIGlmZWxzZShpcy5uYShvdXQkcHJhY293bmlrKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHByYWNvd25paykpDQpvdXQkemFfYWRub3RhY2plIDwtIGlmZWxzZShpcy5uYShvdXQkemFfYWRub3RhY2plKSwnJyxhcy5jaGFyYWN0ZXIob3V0JHphX2Fkbm90YWNqZSkpDQpvdXQkQk5fVVJMIDwtIGlmZWxzZShpcy5uYShvdXQkQk5fVVJMKSwnJyxhcy5jaGFyYWN0ZXIob3V0JEJOX1VSTCkpDQoNCm91dCAlJCUgIA0KICAgIHsgcmVrb3JkX0JOPT1sYWcocmVrb3JkX0JOLCkgJiByel9uYXp3YT09bGFnKHJ6X25hendhLCkgJiB6YV9yb19yb2s9PWxhZyh6YV9yb19yb2ssKSAmIHphX3R5cGU9PWxhZyh6YV90eXBlLCkgJiByel9yb2R6YWpfaWQ9PWxhZyhyel9yb2R6YWpfaWQsKSAmIERaX05BWldBPT1sYWcoRFpfTkFaV0EsKSAmIERaX0RaSUFMX0lEPT1sYWcoRFpfRFpJQUxfSUQsKSAmIHR3X3R3b3JjYV9pZD09bGFnKHR3X3R3b3JjYV9pZCwpICYgemFfdHl0dWw9PWxhZyh6YV90eXR1bCwpICYgemFfdHl0dWxfb3J5Z2luYWx1PT1sYWcoemFfdHl0dWxfb3J5Z2luYWx1LCkgJiB6YV9qZXp5a19vcnlnaW5hbHU9PWxhZyh6YV9qZXp5a19vcnlnaW5hbHUsKSAmIHphX29waXNfd3Nwb2x0d29yY293PT1sYWcoemFfb3Bpc193c3BvbHR3b3Jjb3csKSAmIHphX3d5ZGFuaWU9PWxhZyh6YV93eWRhbmllLCkgJiB6YV90b215PT1sYWcoemFfdG9teSwpICYgemFfaW5zdHl0dWNqYT09bGFnKHphX2luc3R5dHVjamEsKSAmIHphX3Jva193eWRhbmlhPT1sYWcoemFfcm9rX3d5ZGFuaWEsKSAmIHphX29waXNfZml6eWN6bnlfa3NpYXpraT09bGFnKHphX29waXNfZml6eWN6bnlfa3NpYXpraSwpICYgemFfc2VyaWFfd3lkYXduaWN6YT09bGFnKHphX3NlcmlhX3d5ZGF3bmljemEsKSAmIHR3X25hendpc2tvPT1sYWcodHdfbmF6d2lza28sKSAmIHR3X2ltaWU9PWxhZyh0d19pbWllLCkgJiBwcmFjb3duaWs9PWxhZyhwcmFjb3duaWssKSAmIHphX2Fkbm90YWNqZT09bGFnKHphX2Fkbm90YWNqZSwpICYgQk5fVVJMPT1sYWcoQk5fVVJMLCl9ICU+JSANCiAgICBhcy5udW1lcmljKCkgJT4lIA0KICAgIHsufSAtPiBvdXQkc2FtZQ0Kb3V0JHNhbWVbMV0gPC0gMA0Kb3V0JGR6aWVsb25lIDwtIHBhc3RlKG91dCRhbV9hdXRvcl9pZCxvdXQkYW1fbmF6d2lza28sb3V0JGFtX2ltaWUsb3V0JG9zX29zb2JhX2lkLG91dCRvc19uYXp3aXNrbyxvdXQkb3NfaW1pZSxvdXQkZm9fc3ltYm9sLG91dCR3eV93eWRhd25pY3R3b19pZCxvdXQkd3lfbWllanNjZSxvdXQkd3lfbmF6d2Esc2VwID0gIiIpDQoNCm91dCA8LSBvdXQgJT4lDQogIGZpbHRlcighKHNhbWU9PTEmZHppZWxvbmU9PSIiKSkgJT4lDQogIHNlbGVjdCgxOjMzKQ0KDQpvdXQgJSQlICANCiAgICB7IHJla29yZF9CTj09bGFnKHJla29yZF9CTiwpICYgcnpfbmF6d2E9PWxhZyhyel9uYXp3YSwpICYgemFfcm9fcm9rPT1sYWcoemFfcm9fcm9rLCkgJiB6YV90eXBlPT1sYWcoemFfdHlwZSwpICYgcnpfcm9kemFqX2lkPT1sYWcocnpfcm9kemFqX2lkLCkgJiBEWl9OQVpXQT09bGFnKERaX05BWldBLCkgJiBEWl9EWklBTF9JRD09bGFnKERaX0RaSUFMX0lELCkgJiB0d190d29yY2FfaWQ9PWxhZyh0d190d29yY2FfaWQsKSAmIHphX3R5dHVsPT1sYWcoemFfdHl0dWwsKSAmIHphX3R5dHVsX29yeWdpbmFsdT09bGFnKHphX3R5dHVsX29yeWdpbmFsdSwpICYgemFfamV6eWtfb3J5Z2luYWx1PT1sYWcoemFfamV6eWtfb3J5Z2luYWx1LCkgJiB6YV9vcGlzX3dzcG9sdHdvcmNvdz09bGFnKHphX29waXNfd3Nwb2x0d29yY293LCkgJiB6YV93eWRhbmllPT1sYWcoemFfd3lkYW5pZSwpICYgemFfdG9teT09bGFnKHphX3RvbXksKSAmIHphX2luc3R5dHVjamE9PWxhZyh6YV9pbnN0eXR1Y2phLCkgJiB6YV9yb2tfd3lkYW5pYT09bGFnKHphX3Jva193eWRhbmlhLCkgJiB6YV9vcGlzX2Zpenljem55X2tzaWF6a2k9PWxhZyh6YV9vcGlzX2Zpenljem55X2tzaWF6a2ksKSAmIHphX3NlcmlhX3d5ZGF3bmljemE9PWxhZyh6YV9zZXJpYV93eWRhd25pY3phLCkgJiB0d19uYXp3aXNrbz09bGFnKHR3X25hendpc2tvLCkgJiB0d19pbWllPT1sYWcodHdfaW1pZSwpICYgcHJhY293bmlrPT1sYWcocHJhY293bmlrLCkgJiB6YV9hZG5vdGFjamU9PWxhZyh6YV9hZG5vdGFjamUsKSAmIEJOX1VSTD09bGFnKEJOX1VSTCwpfSAlPiUgDQogICAgYXMubnVtZXJpYygpICU+JSANCiAgICB7Ln0gLT4gb3V0JHNhbWUNCg0KI3VjacSZY2llIHpieXQgZMWCdWdpY2ggY2nEhWfDs3cgem5ha8OzdywgYnkgd2VzesWCeSBkbyBvcmFjbGUnYQ0KZGx1Z29zY2kgPC0gZGF0YS5mcmFtZShwb2xlID0gYygiYW1fbmF6d2lza28iLCAiYW1faW1pZSIsICJ6YV90eXR1bCIsICJ6YV90eXR1bF9vcnlnaW5hbHUiLCAiemFfamV6eWtfb3J5Z2luYWx1IiwgIm9zX25hendpc2tvIiwgIm9zX2ltaWUiLCAiemFfb3Bpc193c3BvbHR3b3Jjb3ciLCAiemFfaW5zdHl0dWNqYSIsICJ3eV9taWVqc2NlIiwgInd5X25hendhIiwgInphX29waXNfZml6eWN6bnlfa3NpYXpraSIsICJ6YV9zZXJpYV93eWRhd25pY3phIiwgInR3X25hendpc2tvIiwgInR3X2ltaWUiLCAiemFfYWRub3RhY2plIiksIGxpY3piYV96bmFrb3cgPSBjKDUwLDQwLDUwMCw1MDAsMTAwLDUwLDQwLDUwMCwyNTUsNDAsMjU1LDEwMDAsMjU1LDIwMCw0MCwyMDAwKSkNCnggPC0gbWF0Y2goZGx1Z29zY2kkcG9sZSxuYW1lcyhvdXQpKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBkbHVnb3NjIDwtIGRsdWdvc2NpJGxpY3piYV96bmFrb3dbbWF0Y2gobmFtZXMob3V0W2ldKSxkbHVnb3NjaSRwb2xlKV0NCiAgb3V0JHphX2Fkbm90YWNqZSA8LSBpZmVsc2UoZGx1Z29zYzxuY2hhcihhcy5jaGFyYWN0ZXIob3V0WyxpXSkpJm91dCR6YV9hZG5vdGFjamUhPSIiLHBhc3RlKG91dCR6YV9hZG5vdGFjamUscGFzdGUoIlVXQUdBISBQb2xlICIsYXMuY2hhcmFjdGVyKG5hbWVzKG91dFtpXSkpLCIgYnnFgm8gemJ5dCBkxYJ1Z2llIGkgem9zdGHFgm8gcHJ6eWNpxJl0ZS4gWnJlZGFndWogdHJlxZvEhyBwb2xhLiIsc2VwID0gIiIpLHNlcCA9ICIjICIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoZGx1Z29zYzxuY2hhcihhcy5jaGFyYWN0ZXIob3V0WyxpXSkpJm91dCR6YV9hZG5vdGFjamU9PSIiLHBhc3RlKCJVV0FHQSEgUG9sZSAiLGFzLmNoYXJhY3RlcihuYW1lcyhvdXRbaV0pKSwiIGJ5xYJvIHpieXQgZMWCdWdpZSBpIHpvc3RhxYJvIHByenljacSZdGUuIFpyZWRhZ3VqIHRyZcWbxIcgcG9sYS4iLHNlcCA9ICIiKSxhcy5jaGFyYWN0ZXIob3V0JHphX2Fkbm90YWNqZSkpKQ0KICANCiAgb3V0WyxpXSA8LSBpZmVsc2UoZGx1Z29zYzxuY2hhcihhcy5jaGFyYWN0ZXIob3V0WyxpXSkpLGFzLmNoYXJhY3RlcihzdWJzdHIob3V0WyxpXSwxLGRsdWdvc2MpKSxhcy5jaGFyYWN0ZXIob3V0WyxpXSkpDQp9DQoNCm91dCRyZWtvcmRfQk5bb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCRyel9uYXp3YVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3JvX3Jva1tvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3R5cGVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCRyel9yb2R6YWpfaWRbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCREWl9OQVpXQVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JERaX0RaSUFMX0lEW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkdHdfdHdvcmNhX2lkW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfdHl0dWxbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV90eXR1bF9vcnlnaW5hbHVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9qZXp5a19vcnlnaW5hbHVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV9vcGlzX3dzcG9sdHdvcmNvd1tvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3d5ZGFuaWVbb3V0JHNhbWUgPT0gMV0gPC0gIiINCm91dCR6YV90b215W291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfaW5zdHl0dWNqYVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX3Jva193eWRhbmlhW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfb3Bpc19maXp5Y3pueV9rc2lhemtpW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkemFfc2VyaWFfd3lkYXduaWN6YVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHR3X25hendpc2tvW291dCRzYW1lID09IDFdIDwtICIiDQpvdXQkdHdfaW1pZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHByYWNvd25pa1tvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JHphX2Fkbm90YWNqZVtvdXQkc2FtZSA9PSAxXSA8LSAiIg0Kb3V0JEJOX1VSTFtvdXQkc2FtZSA9PSAxXSA8LSAiIg0KDQpvdXQgPC0gb3V0ICU+JQ0KICBzZWxlY3QoMTozMykNCg0KI3DEmXRsYSB6YXBpc3VqxIVjYSBwbyBvay4gMjAwMCB3aWVyc3p5IHogdXd6Z2zEmWRuaWVuaWVtIGtvbXBsZXRub8WbY2kgcmVrb3Jkw7N3IGJpYmxpb2dyYWZpY3pueWNoIHJvenBpc2FueWNoIG5hIGtpbGthIHdpZXJzenkNCm91dCA8LSBvdXQgJT4lDQogIG11dGF0ZShwb2R6aWFsID0gaWZlbHNlKHJla29yZF9CTiE9IiIsYXMuY2hhcmFjdGVyKHJla29yZF9CTiksTkEpKSAlPiUNCiAgZmlsbChwb2R6aWFsKQ0KaWxlIDwtIHVuaXF1ZShvdXQkcG9kemlhbCkNCmlsZSA8LSBzcGxpdCh1bmlxdWUoaWxlKSwgY2VpbGluZyhzZXFfYWxvbmcodW5pcXVlKGlsZSkpLzE1MDApKQ0KeCA8LSAxOmxlbmd0aChpbGUpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpDQogIGZpbmFsIDwtIG91dCAlPiUNCiAgICBmaWx0ZXIocG9kemlhbCAlaW4lIGlsZVtbaV1dKSAlPiUNCiAgICBzZWxlY3QoLXBvZHppYWwpDQogIHdyaXRlLnhsc3goZmluYWwsIHBhc3RlKCJDOi9Vc2Vycy8iLGVtcGxveWVlX25hbWUsIi9EZXNrdG9wLyIsaW1wb3J0X3llYXIsIl93c3BvbHd5ZGFuaWVfZG9faW1wb3J0dSIsaSwiLnhsc3giLHNlcCA9ICIiKSxzaGVldE5hbWUgPSAiZ290b3dlIikNCn0NCmBgYA0KDQpiZXpwaWVjem5paw0KVVdBR0EhDQpOYWpwaWVydyBuYWxlxbx5IHByemVwcm93YWR6acSHIGltcG9ydCBkbyBiYXp5LCBhIG5hc3TEmXBuaWUgZWd6ZWt3b3dhxIcgcG9uacW8c3rEhSBjesSZxZvEhyBrb2R1DQoNCmBgYHtyIHLEmWN6bmEga29yZWtydGEgaW1wb3J0dX0NCiN3IGZvcm11bGFyenUga3NpxIXFvGtvd3ltIHd5c3p1a2FqIHcgcG9sdSB1d2FnIGZyYXrEmSAnJWFrY2VwdHVqZTpOQSUnIGkgLSBqZcWbbGkgdGFrb3dhIHd5c3TEhXBpIC0gemFzdMSFcCBOQSBpbWllbmllbSB3xYJhxZtjaXdlZ28gcHJhY293bmlrYQ0KI3dpZW0sIMW8ZSB0byBza2Fzb3dhbGnFm215LCBhbGUgZG9zemVkxYJlbSBkbyB3bmlvc2t1LCDFvGUgamVkbmFrIHdhcnRvIHRvIHNwcmF3ZHppxIcNCmBgYA0KDQoNCmBgYHtyIHByenlnb3Rvd2FuaWUgcGxpa8OzdyBkbyBtYXNvd2VnbyBuYWRwaXNhbmlhIHN0YXR1c3UgSU9LfQ0KI2F1dG9tYXR5Y3pueSBJT0sgZGxhIHJla29yZMOzdyBiaWJsaW9ncmFmaWN6bnljaA0KDQpuYWRwaXNhbmllX3phcGlzb3dfSU9LIDwtIHJlYWQuY3N2MihwYXN0ZSgiQzovVXNlcnMvIixlbXBsb3llZV9uYW1lLCIvRGVza3RvcC9pbXBfIixpbXBvcnRfeWVhciwiX2F1dG9tYXR5Y3puZV9wb2RtaW90b3dlLmNzdiIsc2VwID0gIiIpLCBlbmNvZGluZyA9ICJVVEYtOCIsIGhlYWRlciA9IFRSVUUsIHN0cmluZ3NBc0ZhY3RvcnMgPSBGQUxTRSkNCg0KbmFkcGlzYW5pZV96YXBpc293X0lPSyA8LSBuYWRwaXNhbmllX3phcGlzb3dfSU9LICU+JQ0KICBtdXRhdGUocmVrb3JkX0JOID0gYXMuY2hhcmFjdGVyKHJla29yZF9CTikpICU+JSANCiAgbGVmdF9qb2luKC4sZGJHZXRRdWVyeShQQkwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWxlY3Qgei56YV96YXBpc19pZCwgei56YV9zdGF0dXNfaW1wLCB6LnphX3V3YWdpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHBibF96YXBpc3kgeg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgemFfdXdhZ2kgbGlrZSAnQk46ICUnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgei56YV91cmxfYm4gaXMgbm90IG51bGwiKSAlPiUgbXV0YXRlKFpBX1VXQUdJID0gc3RyX2V4dHJhY3QoWkFfVVdBR0ksIig/PD1CTjogKSguKj8pKD89LCBpbXBvcnQpIikpLGJ5PWMoInJla29yZF9CTiI9IlpBX1VXQUdJIikpICU+JSANCiAgZmlsdGVyKGdyZXBsKHBhc3RlKCJeQk5cXDogIixpbXBvcnRfeWVhciwgc2VwID0gIiIpLHJla29yZF9CTikpICU+JSANCiAgcmVuYW1lKGplc3QgPSBaQV9TVEFUVVNfSU1QKSAlPiUgDQogIG11dGF0ZShJRDIgPSBOQSkgJT4lIA0KICBzZWxlY3QoWkFfWkFQSVNfSUQsSUQyLGplc3QscG93aW5ub19ieWMpDQoNCndyaXRlLnhsc3gobmFkcGlzYW5pZV96YXBpc293X0lPSywgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvIixpbXBvcnRfeWVhciwiX25hZHBpc2FuaWVfemFwaXNvd19JT0sueGxzeCIsc2VwID0gIiIpLHNoZWV0TmFtZSA9ICJaQV9TVEFUVVNfSU1QIikNCg0KI2JlenBpZWN6bmlrDQojYXV0b21hdHljem55IElPSyBkbGEgbm93eWNoIHR3w7NyY8OzdyB3IGthcnRvdGVjZSBwb3dpbmllbiB6b3N0YcSHIHByemVwcm93YWR6b255IHogcG96aW9tdSBpbXBvcnRlcmENCg0KI2F1dG9tYXR5Y3puaWUgbmFkcGlzYcSHIHJla29yZHkgYmlibGlvZ3JhZmljem5lIGkga2FydG90ZWN6bmUgcHJ6ZWQga29sZWpueW0ga3Jva2llbQ0KDQojYmV6cGllY3puaWsNCiNqZcWbbGkgcG9kY3phcyBpbXBvcnR1IG5pZSBkYSBzacSZIHphaW1wb3J0b3dhxIcgcmVrb3Jkw7N3IC0gd3Byb3dhZMW6IGplIHLEmWN6bmllIHcgdHltIG1vbWVuY2llDQoja29sdW1uxJkgQk4tVVJMIG5hbGXFvHkgbmFkcGlzYcSHIGF1dG9tYXR5Y3puaWUNCmBgYA0KDQpgYGB7ciBwcnp5Z290b3dhbmllIGxpc3QgcHJhY293bmlrw7N3fQ0KI2RvY2Vsb3dvIHByenlnb3Rvd3VqZW15IHBsaWsgb2QgcmF6dSBuYSBkeXNrLCBhbGUgbmEgcmF6aWUgeGxzeCBkbyB3Z3JhbmlhIG5hIGR5c2sgKGJyYWsgZnVua2Nqb25hbG5vxZtjaSBnb29nbGVzaGVldHM0KQ0KI3BvIHR5bSBwcnp5Z290b3dhxIcgbmEgZHlza3UgdW5pa2F0b3dlIGxpbmtpDQpibl9vayA8LSBjaHVuazExDQprb2xlam5vc2MgPC0gYygicHJhY293bmlrIiwiWkFfWkFQSVNfSUQiLCJ0eXBfa3NpYXpraSIsImxpbmsiLCJsaW5rXzEiLCJyb2siLCJzdGF0dXMiLCJibGFkX3dfaW1wb3JjaWVfdHl0dWx1IiwiWDEwMCIsIlgyNDUiLCJYNjUwIiwiWDY1NSIsIlgyNDYiLCJYMjUwIiwiWDI2MCIsIlgzMDAiLCJYMzgwIiwiWDQ5MCIsIlg1MDAiLCJYNTAxIiwiWDU0NiIsIlg2MDAiLCJYNzAwIiwiWDA0MSIsIlgwODAiKQ0KDQpyb2N6bmlrX3BibF9wb19pbXBvcmNpZSA8LSBkYkdldFF1ZXJ5KFBCTCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWxlY3Qgei56YV96YXBpc19pZCwgei56YV9zdGF0dXNfaW1wLCB6LnphX3V3YWdpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBwYmxfemFwaXN5IHoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSB6YV91d2FnaSBsaWtlICdCTjogJScNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgei56YV91cmxfYm4gaXMgbm90IG51bGwiKSAlPiUgDQogIGZpbHRlcihncmVwbChwYXN0ZSgiXkJOXFw6ICIsaW1wb3J0X3llYXIsIHNlcCA9ICIiKSxaQV9VV0FHSSkpICU+JSANCiAgbXV0YXRlKFpBX1VXQUdJID0gc3RyX2V4dHJhY3QoWkFfVVdBR0ksIig/PD1CTjogKSguKj8pKD89LCBpbXBvcnQpIikpICU+JQ0KICByZW5hbWUoc3RhdHVzID0gWkFfU1RBVFVTX0lNUCkgJT4lIA0KICBsZWZ0X2pvaW4oLixibl9vayAlPiUgc2VsZWN0KHByYWNvd25payA9IHJlZGFrdG9yX2R6aWFsdSx0eXBfa3NpYXpraSA9IHJvZHphal9rc2lhemtpLGxpbmsgPSBCTl9VUkwsIHJvaywgWDEwMCwgWDI0NSwgWDY1MCwgWDY1NSwgWDI0NiwgWDI1MCwgWDI2MCwgWDMwMCwgWDM4MCwgWDQ5MCwgWDUwMCwgWDUwMSwgWDU0NiwgWDYwMCwgWDcwMCwgWDA0MSwgWDA4MCxaQV9VV0FHSSkgJT4lIG11dGF0ZShsaW5rXzEgPSBwYXN0ZSgiPUhZUEVSTElOSyhcIiIsbGluaywiXCI7XCJsaW5rIGRvIGtzacSFxbxraSB3IEJOXCIpIixzZXAgPSAiIiksIGJsYWRfd19pbXBvcmNpZV90eXR1bHUgPSBGQUxTRSksYnk9IlpBX1VXQUdJIikgJT4lIA0KICBzZWxlY3Qobm9xdW90ZShrb2xlam5vc2MpKQ0Kcm9jem5pa19wYmxfcG9faW1wb3JjaWUkcHJhY293bmlrW3JvY3puaWtfcGJsX3BvX2ltcG9yY2llJHN0YXR1cz09IklPSyJdIDwtICJBVVRPTUFUIg0KDQp3cml0ZS54bHN4KHJvY3puaWtfcGJsX3BvX2ltcG9yY2llLCBwYXN0ZSgiQzovVXNlcnMvIixlbXBsb3llZV9uYW1lLCIvRGVza3RvcC9rc19CTl8iLGltcG9ydF95ZWFyLCJfbGlzdHlfcHJhY293bmlrw7N3Lnhsc3giLHNlcCA9ICIiKSxzaGVldE5hbWUgPSAibGlzdGFfa3NpYXplayIpDQojdXR3w7NyeiBub3d5IHBvZGZvbGRlciB3IGZvbGRlcnplIGltcG9ydHUgQk4gaSBwcnplxZtsaWogbGlzdMSZIG5hIGR5c2ssIHByenlnb3R1aiB3aWRva2kgZmlsdHLDs3cgZGxhIHdzenlzdGtpY2ggb3PDs2IgaSByb3plxZtsaWogdW5pa2F0b3dlIGxpbmtpDQpgYGANCg0KYGBge3IgYWt0dWFsaXphY2phIHJlbGFjamkgb3PDs2IgUEJMLUJOfQ0KI1RVVEFKIC0genJvYmnEhyBkb3BpZXJvIHBvIGltcG9yY2llIDIwMTAhISENCiNiYXpvd2HEhyBuYSBibl9vayB6IHphcHl0YW5pZW0gU1FMIGR6acSZa2kgemF3YXJ0b8WbY2kgcG9sYSBibiByZWtvcmQNCiN6YWt0dWFsaXpvd2HEhyBwbGlrIG5hIGR5c2t1OiAibWFwb3dhbmllX29zb2JfYm5fcGJsX3BvX2ltcG9yY2llIiBvIG5vd2UgcmVsYWNqZSBvc29ib3dlIHBibC1ibg0KYm5fb2sgPC0gY2h1bmsxMQ0Kbm93ZV9yZWxhY2plIDwtIGJuX29rICU+JSANCiAgZmlsdGVyKGlzLm5hKFRXX1RXT1JDQV9JRCkmIWlzLm5hKFRXX05BWldJU0tPKSkgJT4lIA0KICBzZWxlY3QoWDEwMCxUV19OQVpXSVNLTyxUV19JTUlFKSAlPiUgDQogIGZpbHRlcighZ3JlcGwoIlxcfCIsWDEwMCkpICU+JSANCiAgdW5pcXVlKCkgJT4lIA0KICBtdXRhdGUobGljem5payA9IDE6bnJvdyguKSkNCg0KbWFyY19maWVsZF8xMDAgPC0gbm93ZV9yZWxhY2plICU+JQ0KICBzZWxlY3QobGljem5payxYMTAwKSU+JQ0KICBmaWx0ZXIoWDEwMCE9IiIpICU+JQ0KICBtdXRhdGUoWDEwMD1zdHJfcmVtb3ZlX2FsbChYMTAwLCJeXFx8IikpICU+JQ0KICBtdXRhdGUoaW5kaWNhdG9yID0gc3RyX3JlcGxhY2VfYWxsKFgxMDAsIiheLio/KShcXCQuKikiLCJcXDEiKSkNCnN1YmZpZWxkX2xpc3Q8LSBzdHJfZXh0cmFjdF9hbGwobm93ZV9yZWxhY2plJFgxMDAsIlxcJC4iKQ0Kc3ViZmllbGRfbGlzdDwtIHVuaXF1ZSh1bmxpc3Qoc3ViZmllbGRfbGlzdCkpDQplbXB0eV90YWJsZTwtIGRhdGEuZnJhbWUobWF0cml4KG5jb2wgPSBsZW5ndGgoc3ViZmllbGRfbGlzdCksbnJvdyA9IGxlbmd0aHMobWFyY19maWVsZF8xMDApWzFdKSkNCmNvbG5hbWVzKGVtcHR5X3RhYmxlKSA8LXN1YmZpZWxkX2xpc3QNCm1hcmNfZmllbGRfMTAwPC1jYmluZChtYXJjX2ZpZWxkXzEwMCxlbXB0eV90YWJsZSkNCnN1YmZpZWxkX2xpc3RfY2hhciA8LSBwYXN0ZSgiKCIsc3ViZmllbGRfbGlzdCwiKSIsc2VwID0gIiIpDQpzdWJmaWVsZF9saXN0X2NoYXIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3RfY2hhciwiXFwkIiwiXFxcXCQiKQ0KDQp4IDwtIDE6bGVuZ3RoKHN1YmZpZWxkX2xpc3QpDQpmb3IgKGkgaW4geCkgew0KICBwcm9ncmVzcyhtYXRjaChpLHgpLCBtYXgudmFsdWUgPSBsZW5ndGgoeCkpIA0KICBtYXJjX2ZpZWxkXzEwMCRYMTAwIDwtIHN0cl9yZXBsYWNlKG1hcmNfZmllbGRfMTAwJFgxMDAsc3ViZmllbGRfbGlzdF9jaGFyW2ldLCJ8XFwxIikNCn0NCmZvciAoaSBpbiB4KSB7DQogIHByb2dyZXNzKG1hdGNoKGkseCksIG1heC52YWx1ZSA9IGxlbmd0aCh4KSkgDQogIHN1YmZpZWxkX2xpc3RfY2hhcjIgPC0gc3RyX3JlcGxhY2VfYWxsKHN1YmZpZWxkX2xpc3QsIlxcJCIsIlxcXFwkIikNCiAgc3RyaW5nX2EgPC0gIiheKSguKj9cXHwiDQogIHN0cmluZ19iIDwtIHN1YmZpZWxkX2xpc3RfY2hhcjJbaV0NCiAgc3RyaW5nX2MgPC0gIikoLio/KShcXCx7MCwxfSkoKFxcfFxcJCkoLiopfCQpIg0KICBzdHJpbmcgPC0gcGFzdGUoc3RyaW5nX2Esc3RyaW5nX2Isc3RyaW5nX2Msc2VwID0gIiIpDQogIG1hcmNfZmllbGRfMTAwWyxpKzNdIDwtIGlmZWxzZShncmVwbChzdWJmaWVsZF9saXN0X2NoYXIyW2ldLG1hcmNfZmllbGRfMTAwJFgxMDApLHN0cl9yZXBsYWNlX2FsbChnc3ViKHN0cmluZywiXFwzIixtYXJjX2ZpZWxkXzEwMCRYMTAwKSwiXFwkezJ9LiIsICJ+IiksTkEpDQp9DQoNCm5vd2VfcmVsYWNqZSA8LSBub3dlX3JlbGFjamUgJT4lIA0KICBsZWZ0X2pvaW4oLixtYXJjX2ZpZWxkXzEwMCAlPiUgdW5pdGUoIkJOX29zb2JhIixgJGFgOmAkY2Asc2VwID0gIiAiLG5hLnJtID0gVFJVRSkgJT4lIHNlbGVjdChsaWN6bmlrLEJOX29zb2JhKSxieT0ibGljem5payIpICU+JSANCiAgbGVmdF9qb2luKC4sZGJHZXRRdWVyeShQQkwsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWxlY3QgdHcudHdfdHdvcmNhX2lkLHR3LnR3X25hendpc2tvLHR3LnR3X2ltaWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gcGJsX3R3b3JjeSB0dyIpLGJ5PWMoIlRXX05BWldJU0tPIiwiVFdfSU1JRSIpKSAlPiUNCiAgc2VsZWN0KFRXX1RXT1JDQV9JRCxUV19OQVpXSVNLTyxUV19JTUlFLEJOX29zb2JhKQ0KDQpwYmxfYm5faW1wb3J0IDwtIGRhdGEuZnJhbWUoc3RyaW5nc0FzRmFjdG9ycz1GQUxTRSkNCnggPC0gMTpsZW5ndGgobm93ZV9yZWxhY2plJFRXX1RXT1JDQV9JRCkNCg0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKSANCiAgdHJ5Q2F0Y2goeyANCiAgaWQgPC0ganNvbmxpdGU6OmZyb21KU09OKHN0cl9yZXBsYWNlX2FsbChwYXN0ZSgiaHR0cHM6Ly9kYXRhLmJuLm9yZy5wbC9hcGkvYXV0aG9yaXRpZXMuanNvbj9saW1pdD0xMDAmbmFtZT0iLG5vd2VfcmVsYWNqZSRCTl9vc29iYVtpXSxzZXAgPSAiIiksIiAiLCIlMjAiKSkgJT4lIC4kYXV0aG9yaXRpZXMgJT4lIA0KICAgIGZpbHRlcih0aXRsZT09IiIpICU+JSAuJGlkDQogIGlmIChsZW5ndGgoaWQpPT0wKSB7DQogICAgaWQgPC0gImJyYWsgZGFueWNoIChDUikiDQogIH0gDQogIH0sIGVycm9yPWZ1bmN0aW9uKGUpew0KICAgICAgICAgICAgICAgICAgICAgaWQgPDwtICJicmFrIGRhbnljaCAoQ1IpIg0KICB9KQ0KICBpdGVyYXRpb24gPC0gZGF0YS5mcmFtZShub3dlX3JlbGFjamUgJT4lIHNlbGVjdCgxOjQpICU+JSBzbGljZShpKSwgaWQgPSBpZCkNCiAgcGJsX2JuX2ltcG9ydCA8LSByYmluZChwYmxfYm5faW1wb3J0LGl0ZXJhdGlvbikNCn0NCg0KcGJsX2JuX2ltcG9ydF9maXggPC0gcGJsX2JuX2ltcG9ydCAlPiUgDQogIGZpbHRlcihpZD09ImJyYWsgZGFueWNoIChDUikiKQ0KcGJsX2JuX2ltcG9ydCA8LSBwYmxfYm5faW1wb3J0ICU+JSANCiAgZmlsdGVyKGlkICVub3RpbiUgcGJsX2JuX2ltcG9ydF9maXgkaWQpDQojYWt0dWFsaXphY2phIC0gcsSZY3puaWUgdXp1cGXFgm5paiBpZGVudHlmaWthdG9yeSBkbGEgb3PDs2IgQk4sIGt0w7NyZSBuaWUgem9zdGHFgnkgem5hbGV6aW9uZSBhdXRvbWF0eWN6bmllIChzenVrYWogcHJ6eSB1xbx5Y2l1L3ogd3lrbHVjemVuaWVtIHpuYWvDs3cgZGlha3J5dHljem55Y2gsIHBvIGZyYWdtZW50YWNoIHN0cmluZ8OzdykNCiNzenVrYWogdyBzY2hlbWFjaWU6aHR0cDovL2RhdGEuYm4ub3JnLnBsL2FwaS9hdXRob3JpdGllcy5qc29uP2xpbWl0PTEwMCZuYW1lPUthcmwlMjBPdmUlMjAoMTk2OC0lMjApIHBvZG1pZW5pYWrEhWMgd2FydG/Fm2NpIHBvICJuYW1lPSINCiMgamXFm2xpIG5pZW1vIHpsaXdlIGplc3QgdXN0YWxlbmllIGlkIHcgb2JpZWtjaWUgcmVjem5lX3V6dXBlbG5pZW5pZSB3IG9kcG93aWVkbmltIG1pZWpzY3Ugd3N0YXcgZnJhesSZICJicmFrIGRhbnljaCAoQ1IpIg0KcmVjem5lX3V6dXBlbG5pZW5pZSA8LSBjKDEwOTg3NjgsMjUyNTg2NSwxMjEyNjYyLDI1NTAwOTMsMjgzODU1NCwxNzAwNzgyLDI3MDU0MDEsMjUzNTE4NywiYnJhayBkYW55Y2ggKENSKSIsMzE4MzI0NiwyMjU5NDU0LDI0Mjg4MjAsMzEzNDAyNSwiYnJhayBkYW55Y2ggKENSKSIsMjg4NDc4NSwxMDcwMDY2LCJicmFrIGRhbnljaCAoQ1IpIiwyODE4NTc4LDI0Mzc0MDYsMTE4MjE4OSwxNjI0NDg5LCJicmFrIGRhbnljaCAoQ1IpIiwiYnJhayBkYW55Y2ggKENSKSIsMjUyMDUxOSwyODEyNDk1LCJicmFrIGRhbnljaCAoQ1IpIikNCnBibF9ibl9pbXBvcnRfZml4JGlkIDwtIHJlY3puZV91enVwZWxuaWVuaWUNCnBibF9ibl9pbXBvcnQgPC0gcGJsX2JuX2ltcG9ydCAlPiUgDQogIGJpbmRfcm93cyhwYmxfYm5faW1wb3J0X2ZpeCAlPiUgZmlsdGVyKGlkICE9ICJicmFrIGRhbnljaCAoQ1IpIikpDQoNCnBibF9ibl92aWFmX2ltcG9ydCA8LSBkYXRhLmZyYW1lKHN0cmluZ3NBc0ZhY3RvcnM9RkFMU0UpDQp4IDwtIDE6bGVuZ3RoKHBibF9ibl9pbXBvcnQkVFdfVFdPUkNBX0lEKQ0KZm9yIChpIGluIHgpIHsNCiAgcHJvZ3Jlc3MobWF0Y2goaSx4KSwgbWF4LnZhbHVlID0gbGVuZ3RoKHgpKQ0KICBuYW1lIDwtIHBhc3RlKHN0cl9yZXBsYWNlX2FsbChzdHJfcmVtb3ZlX2FsbChwYXN0ZSh1bmxpc3QoanNvbmxpdGU6OmZyb21KU09OKHBhc3RlKCJodHRwczovL2RhdGEuYm4ub3JnLnBsL2FwaS9hdXRob3JpdGllcy5qc29uP2lkPSIscGJsX2JuX2ltcG9ydCRpZFtpXSxzZXAgPSAiIikpICU+JSAuJGF1dGhvcml0aWVzICU+JSAuJG1hcmMgJT4lIC4kZmllbGRzICU+JSBgW1tgKDEpICU+JSAuJGAxMDBgICU+JSBgW1tgKDMpKSxjb2xsYXBzZSA9ICJ8IiksIlxcfE5BIiksIihcXHwpKFxcKFxcZCspIiwiIFxcMiIpLHN0cl9yZXBsYWNlX2FsbChzdHJfcmVtb3ZlX2FsbChwYXN0ZSh1bmxpc3QoanNvbmxpdGU6OmZyb21KU09OKHBhc3RlKCJodHRwczovL2RhdGEuYm4ub3JnLnBsL2FwaS9hdXRob3JpdGllcy5qc29uP2lkPSIscGJsX2JuX2ltcG9ydCRpZFtpXSxzZXAgPSAiIikpICU+JSAuJGF1dGhvcml0aWVzICU+JSAuJG1hcmMgJT4lIC4kZmllbGRzICU+JSBgW1tgKDEpICU+JSAuJGA0MDBgICU+JSBgW1tgKDMpKSxjb2xsYXBzZSA9ICJ8IiksIlxcfE5BIiksIihcXHwpKFxcKFxcLispIiwiIFxcMiIpLHNlcCA9ICJ8IikNCiAgdmlhZiA8LSBzdHJfcmVtb3ZlX2FsbChwYXN0ZSh1bmxpc3QoanNvbmxpdGU6OmZyb21KU09OKHBhc3RlKCJodHRwczovL2RhdGEuYm4ub3JnLnBsL2FwaS9hdXRob3JpdGllcy5qc29uP2lkPSIscGJsX2JuX2ltcG9ydCRpZFtpXSxzZXAgPSAiIikpICU+JSAuJGF1dGhvcml0aWVzICU+JSAuJG1hcmMgJT4lIC4kZmllbGRzICU+JSBgW1tgKDEpICU+JSAuJGAwMjRgICU+JSAuJHN1YmZpZWxkcyksY29sbGFwc2UgPSAifCIpLCIoXFx8TkEpfChcXHx2aWFmKSIpDQogIGl0ZXJhdGlvbiA8LSBkYXRhLmZyYW1lKHBibF9ibl9pbXBvcnQgJT4lIHNlbGVjdCgxOjMsNSkgJT4lIHNsaWNlKGkpLCBuYW1lID0gbmFtZSwgdmlhZiA9IHZpYWYpDQogIHBibF9ibl92aWFmX2ltcG9ydCA8LSByYmluZChwYmxfYm5fdmlhZl9pbXBvcnQsaXRlcmF0aW9uKQ0KfQ0KDQpwYmxfYm5fdmlhZl9pbXBvcnQgPC0gcGJsX2JuX3ZpYWZfaW1wb3J0ICU+JSANCiAgcmVuYW1lKHBibF9pZCA9IFRXX1RXT1JDQV9JRCwNCiAgICAgICAgIHBibF9uYXp3aXNrbyA9IFRXX05BWldJU0tPLA0KICAgICAgICAgcGJsX2ltaWUgPSBUV19JTUlFLA0KICAgICAgICAgQk5faWQgPSBpZCwNCiAgICAgICAgIEJOX25hbWUgPSBuYW1lKSAlPiUgDQogIG11dGF0ZShjenlfdGVuX3NhbSA9ICJ0YWsiKSAlPiUgDQogIHNlbGVjdChwYmxfaWQscGJsX25hendpc2tvLHBibF9pbWllLEJOX2lkLEJOX25hbWUsY3p5X3Rlbl9zYW0sdmlhZikgJT4lIA0KICB1bmlxdWUoKQ0KDQojemFwaXNhxIcgcGxpayBpIGplZ28gdHJlxZvEhyB3a2xlacSHIG5hIGR5c2sgZG8gdGFiZWxpICJtYXBvd2FuaWVfb3NvYl9ibl9wYmxfcG9faW1wb3JjaWUiDQp3cml0ZS54bHN4KHBibF9ibl92aWFmX2ltcG9ydCwgcGFzdGUoIkM6L1VzZXJzLyIsZW1wbG95ZWVfbmFtZSwiL0Rlc2t0b3AvcmVsYWNqZV9vc29ib3dlX3BibF9ibi54bHN4IixzZXAgPSAiIiksc2hlZXROYW1lID0gInBibC1ibiIpDQojbmFzdMSZcG5pZSBwcnplYW5hbGl6b3dhxIcgemF3YXJ0b8WbxIcgd2tlam9uZWogY3rEmcWbY2kgaSB6b3N0YXdpxIcgInRhayIgdyBrb2x1bW5pZSBGIHR5bGtvIGRsYSBwb3ByYXdueWNoIHV0b8W8c2FtaWXFhCAob3NvYmEgdyBQQkwgdG8gb3NvYmEgdyBCTikNCmBgYA0KDQo=